Middle
Ako obísť problém spracovania veľkých súborov v Pandas, ktoré sa nezmestia do pamäte?
sobes.tech AI
Odpoveď od AI
Na spracovanie veľkých súborov v Pandas, ktoré sa nezmestia do pamäte, je možné použiť niekoľko prístupov:
- Čítanie po častiach (chunking)
Použite parameter
chunksizevo funkciách na čítanie, ako jepd.read_csv(), na načítanie dát po častiach a ich spracovanie samostatne:
import pandas as pd
chunksize = 10**6 # počet riadkov v jednom kuse
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# spracovanie každého kusu zvlášť
process(chunk)
-
Použitie knižníc na prácu s veľkými dátami
- Dask DataFrame — API kompatibilné s Pandas, podporuje lenivé výpočty a distribuované spracovanie.
- Vaex — umožňuje pracovať s veľkými dátami bez načítania všetkých do pamäte.
-
Optimalizácia typov dát Pri načítaní špecifikujte explicitne typy stĺpcov, aby ste znížili spotrebu pamäte (napríklad
categorypre reťazcové stĺpce s opakujúcimi sa hodnotami). -
Použitie databáz alebo formátov s podporou čiastočného načítania Načítajte dáta do databázy (napríklad SQLite) a vykonávajte dotazy po častiach.
Kombináciou čítania po častiach a optimalizácie typov môžete efektívne pracovať s veľkými súbormi v Pandas.