Middle
Hoe om je het probleem van het verwerken van grote bestanden in Pandas die niet in het geheugen passen te omzeilen?
sobes.tech AI
Antwoord van AI
Om grote bestanden in Pandas te verwerken die niet in het geheugen passen, kunnen verschillende benaderingen worden gebruikt:
- Chunking (in delen lezen)
Gebruik de parameter
chunksizein leesfuncties zoalspd.read_csv(), om gegevens in porties te laden en ze afzonderlijk te verwerken:
import pandas as pd
chunksize = 10**6 # aantal rijen per chunk
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# verwerking van elke chunk afzonderlijk
process(chunk)
-
Gebruik van bibliotheken voor grote datasets
- Dask DataFrame — API compatibel met Pandas, ondersteunt lazy evaluatie en gedistribueerde verwerking.
- Vaex — om te werken met grote datasets zonder alles in het geheugen te laden.
-
Optimalisatie van datatypes Geef bij het lezen expliciet de kolomtypes op om het geheugengebruik te verminderen (bijvoorbeeld
categorygebruiken voor tekstkolommen met herhaalde waarden). -
Gebruik van databases of formaten die gedeeltelijk laden ondersteunen Laad gegevens in een database (bijvoorbeeld SQLite) en voer query’s uit in delen.
Door chunking en datatype-optimalisatie te combineren, kunt u efficiënt werken met grote bestanden in Pandas.