Middle
Hogyan kerülhető el a Pandasban a nagy fájlok feldolgozásának problémája, amelyek nem férnek be a memóriába?
sobes.tech MI
Válasz az MI-től
A Pandasban nagy fájlok feldolgozásához, amelyek nem férnek el a memóriában, több megközelítés is alkalmazható:
- Részletekben olvasás (chunking)
Használja a
chunksizeparamétert az olvasási függvényekben, például apd.read_csv()-ban, hogy adatokat darabokra töltse be és külön-külön dolgozza fel:
import pandas as pd
chunksize = 10**6 # sorok száma egy darabban
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# minden darab külön feldolgozása
process(chunk)
-
Nagy adatokkal való munka könyvtárainak használata
- Dask DataFrame — Pandas-szal kompatibilis API, támogatja a késleltetett számításokat és a elosztott feldolgozást.
- Vaex — lehetővé teszi nagy adathalmazokkal való munkát anélkül, hogy az összeset betöltené a memóriába.
-
Adattípusok optimalizálása Olvasás közben határozza meg explicit módon az oszlop típusokat, hogy csökkentse a memóriahasználatot (például
categoryhasználata ismétlődő szöveges oszlopokhoz). -
Adatbázisok vagy részleges betöltést támogató formátumok használata Töltse az adatokat adatbázisba (például SQLite), és végezzen lekérdezéseket részletekben.
Az így kombinálva a részleges olvasást és az adattípusok optimalizálását, hatékonyan lehet nagy fájlokkal dolgozni Pandasban.