Programmieren mit Python: Große Datenmengen verwalten mit vaex

Wer häufig mit Python und pandas arbeitet, kennt das Problem: Irgendwann reicht der Speicher nicht mehr. vaex schafft Abhilfe und ist kompatibel zu pandas.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen

(Bild: Andreas Martini)

Lesezeit: 5 Min.
Von
  • Prof. Stefanie Scholz
  • Prof. Christian Winkler
Inhaltsverzeichnis

Die Python-Bibliothek pandas mit ihren zahlreichen Funktionen zum Umgang mit umfangreichen Datensätzen hat sich als Standard in der Data Science etabliert. Wer sich an die teilweise etwas spröde Bibliothek gewöhnt hat, kann sehr effizient damit arbeiten und viele Standardprobleme in der Datenvorbereitung und -analyse elegant lösen. pandas arbeitet dabei sehr schnell, weil es die Daten in DataFrames im Arbeitsspeicher hält.

Python-Bibliotheken

Bei sehr großen Datensätzen passen die Daten aber irgendwann nicht mehr in den Speicher. Oft ist es einen Versuch wert, sich auf relevante Teile der Daten zu beschränken – aber das ist nicht immer möglich. Besonders bei der Datenaggregation kommt es oft zu Problemen. Perfekt wäre eine Bibliothek, die kompatibel mit pandas ist, aber bei Bedarf mit Daten im nichtflüchtigen Speicher arbeitet. Genau das leistet vaex.

Dabei ist vaex sehr schnell. Auch DataFrames, die nicht im Arbeitsspeicher liegen, können häufig mit 109 Zeilen pro Sekunde und schneller verarbeitet werden: In vielen Anwendungsfällen stehen Ergebnisse praktisch unmittelbar zur Verfügung. vaex ist dabei außerdem äußerst effizient und berechnet Spalten erst dann, wenn sie wirklich benötigt werden. Das kann erhebliche Berechnungszeit sparen, aber in einzelnen Fällen auch dazu führen, dass Wartezeit entsteht, wenn man gar nicht damit rechnet.