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

  1. Chunking (in delen lezen) Gebruik de parameter chunksize in leesfuncties zoals pd.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)
  1. 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.
  2. Optimalisatie van datatypes Geef bij het lezen expliciet de kolomtypes op om het geheugengebruik te verminderen (bijvoorbeeld category gebruiken voor tekstkolommen met herhaalde waarden).

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