Sobes.tech
Middle

Wie umgeht man das Problem bei der Verarbeitung großer Dateien in Pandas, die nicht in den Speicher passen?

sobes.tech KI

Antwort von AI

Um große Dateien in Pandas zu verarbeiten, die nicht in den Arbeitsspeicher passen, können Sie verschiedene Ansätze verwenden:

  1. Chunking (Teilen in Stücke) Verwenden Sie den Parameter chunksize in Lese-Funktionen wie pd.read_csv(), um Daten in Portionen zu laden und sie separat zu verarbeiten:
import pandas as pd

chunksize = 10**6  # Anzahl der Zeilen pro Chunk
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
    # Verarbeitung jedes Chunks separat
    process(chunk)
  1. Verwendung von Bibliotheken für große Datenmengen

    • Dask DataFrame — API kompatibel mit Pandas, unterstützt aber lazy evaluation und verteilte Verarbeitung.
    • Vaex — für die Arbeit mit großen Datensätzen ohne alles in den Speicher zu laden.
  2. Optimierung der Datentypen Beim Lesen der Daten explizit die Spaltentypen angeben, um den Speicherverbrauch zu reduzieren (z.B. category für String-Spalten mit wiederholten Werten).

  3. Verwendung von Datenbanken oder Formaten mit Unterstützung für partielle Ladung Daten in eine Datenbank (z.B. SQLite) laden und Abfragen in Teilen durchführen.

Durch die Kombination von Chunking und Typ-Optimierung kann man effizient mit großen Dateien in Pandas arbeiten.