Sobes.tech
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ů:

  1. Čtení po částech (chunking) Použijte parametr chunksize ve funkcích čtení, například pd.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)
  1. 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.
  2. Optimalizace typů dat Při načítání dat explicitně určete typy sloupců, aby se snížila spotřeba paměti (například category pro řetězcové sloupce s opakujícími se hodnotami).

  3. 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.