Middle
Kako zaobići problem obrade velikih fajlova u Pandas-u koji se ne uklapaju u memoriju?
sobes.tech АИ
Одговор од АИ
Za obradu velikih fajlova u Pandas-u koji ne staju u memoriju, može se koristiti nekoliko pristupa:
- Čitanje u delovima (chunking)
Koristite parametar
chunksizeu funkcijama za čitanje, kao što jepd.read_csv(), da učitavate podatke u delovima i obrađujete ih odvojeno:
import pandas as pd
chunksize = 10**6 # broj redova u jednom delu
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# obrada svakog dela posebno
process(chunk)
-
Korišćenje biblioteka za rad sa velikim skupovima podataka
- Dask DataFrame — API kompatibilan sa Pandas-om, podržava lenjive kalkulacije i distribuiranu obradu.
- Vaex — za rad sa velikim skupovima podataka bez učitavanja celog u memoriju.
-
Optimizacija tipova podataka Pri čitanju, eksplicitno odredite tipove kolona da biste smanjili potrošnju memorije (na primer, koristite
categoryza kolone sa tekstom i ponovljenim vrednostima). -
Korišćenje baza podataka ili formata sa podrškom za delimično učitavanje Učitavajte podatke u bazu podataka (npr. SQLite) i vršite upite u delovima.
Kombinovanjem čitanja u delovima i optimizacije tipova, možete efikasno raditi sa velikim fajlovima u Pandas-u.