Middle
Jak obejít problém s zpracováním velkých souborů v Pandas, které se nevejdou do paměti?
sobes.tech AI
Odpověď od AI
Pro zpracování velkých souborů v Pandas, které se nevejdou do paměti, lze použít několik přístupů:
- Čtení po částech (chunking)
Použijte parametr
chunksizeve funkcích čtení, napříkladpd.read_csv(), k načítání dat po částech a jejich samostatnému zpracování:
import pandas as pd
chunksize = 10**6 # počet řádků v jednom kusu
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# zpracování každého kusu zvlášť
process(chunk)
-
Použití knihoven pro práci s velkými daty
- Dask DataFrame — API kompatibilní s Pandas, podporuje lenivé výpočty a distribuované zpracování.
- Vaex — umožňuje pracovat s velkými datovými sadami bez načítání všeho do paměti.
-
Optimalizace typů dat Při načítání dat explicitně určete typy sloupců, aby se snížila spotřeba paměti (například
categorypro řetězcové sloupce s opakujícími se hodnotami). -
Použití databází nebo formátů s podporou částečného načítání Načtěte data do databáze (například SQLite) a provádějte dotazy po částech.
Kombinací čtení po částech a optimalizace typů lze efektivně pracovat s velkými soubory v Pandas.