Aktywne Wpisy

jmuhha +29
Dowiedziałam się, że koleżanka z klasy ma w leasingu nowa toyotę rav4 za 2400 zł mies ( ಠ_ಠ)
Godir17 +60
Nic tak nie poprawia humoru rano jak opisy starych sfrustrowanych polek po ścianie które lajkuja młodszego o kilka lat chłopa XDD
#p0lka #logikarozowychpaskow
#p0lka #logikarozowychpaskow
źródło: a
Pobierz
![Ewolucja języka polskiego na przykładzie 22 słów [ENG]](https://wykop.pl/cdn/c3397993/ffb90a628ee2358701a082e9c135b7251c45688f5762562d3aa7d652046e9312,q80.jpg)



Hej Mirki, tak sobie dlubie proste ETL w #pandas #numpy #python i glowkuje jak tu skrocic czas ladowania trzech duzych (1GB kazdy 900k x 200) CSV. Jedyne co przychodzi mi jeszcze do glowy to dorzucenie multiprocesingu bo duzo sie dzieje, z %pruna widze ze w tej chwili CPU jest waskim gardlem. Probowalem w prymitywny sposob zaladowac to w multi rozrzucajac kazdy plik na osobny proces ale naturalnie zabraklo RAMu, wiem, ze musze zchunkowac pliki i rozdystrybuowac chunki do workerow, probowalem chunksize= ale cos mi to nie bardzo chce w multi biegac. Bede jeszcze jutro probowal z np.arraysplit.
moj csvread wyglada tak:
paths = os.path.join(VOLUME_CSV, "volume PN FY*.csv")
files = glob.glob(paths)
def csv_reader(file):
df = pd.read_csv(file,
low_memory=False,
cache_dates=True,
thousands=',',
infer_datetime_format=True,
parse_dates=["Funded date", "Maturity date"],
dtype=col_types,
true_values=['Y'],
false_values=['N'],
na_values=['-'],
index_col=False
)
return df
df = pd.concat(map(csv_reader, files), ignore_index=True).reset_index(drop=True)
Czy macie jakis boiler plate jak to ugrysc, dobre rady, slowo na pocieszenie? Jak to zoptymalizowac. Wrzucilem pytanie na stacka ale narazie cisza:
https://stackoverflow.com/questions/72944450/pandas-chunks-from-multiple-files-to-list-collection-to-process-them-with-mult
Jeszcze jedno, chce to zrobic bez Daska, bede chcial dorzucic tam jeszcze jakies operacje ale generalnie wiekszosc manipulacji mam z uzycie wektoryzacji wiec nie warto ich ruszac.
Z gory dziekuje za pomoc.
https://www.pola.rs/
Ewentualnie Pyarrow - https://arrow.apache.org/docs/python/generated/pyarrow.csv.read_csv.html
@Acrylic: Zostaje w Pythonie, kolejne niepowodzenia w napisaniu tego skryptu z multiprocessingiem pchaja mnie w kierunku Dask'a lub PyArrowa, dzieki
Polars jest naprawdę spoko, piszę się w tym jak Pandas, u nas w firmie właśnie migrujemy z Pandas na Polars gdzie się da.
Możesz też użyć Ray lub bardziej high level Modin. Generalnie nie wiem jaki przyrost wydajności cię interesuje, na pewno jakbyś miał pliki w formacie Parquet to byłoby lepiej.