-
Python: Große DataFrames viel schneller bearbeiten dank Polars
- Der Beispielablauf
- Pandas DataFrame
- Pandas DataFrame mit PyArrow
- Polars
- Performance-Vergleich
- Polars im Detail
- Fazit
In vielen Unternehmen und auch in der Wissenschaft ist Pandas der Standard, um große Datensätze zu verarbeiten. Die Python-Bibliothek bietet eine Fülle von Funktionen und ist dank der verständlichen Syntax noch recht einfach zu erlernen. Nutzer analysieren damit nicht nur Daten, sondern können Pandas auch für Machine Learning einsetzen. Wobei die Schnelligkeit ein Knackpunkt von Pandas ist: Denn Pandas DataFrames leisten zwar viel und sind zuverlässig, aber sie arbeiten nicht besonders performant. Das ist hauptsächlich dann relevant, wenn Sie etwa Live-Daten schnell verarbeiten und dann an andere Systeme übermitteln wollen.
- Pandas ist eine weit verbreitete Python-Bibliothek zur Datenverarbeitung, die trotz ihrer vielseitigen Funktionen an Performancegrenzen stoßen kann.
- Polars bietet signifikante Performancevorteile gegenüber Pandas.
- Polars integriert SQL-Fähigkeiten, Visualisierungsoptionen wie Plotting und unterstützt das Rechnen auf GPUs.
Mit der Bibliothek PyArrow lässt sich Pandas beschleunigen und etwa der Speicher effizienter nutzen. Dafür reicht es, PyArrow-Datentypen innerhalb der Pandas-DataFrames einzusetzen. Allerdings benötigt man dafür Pandas ab der Version 2.0, was Unternehmen vor Probleme stellt, die produktive Programme noch unter Pandas 1.x einsetzen und denen schlicht die Zeit fehlt, diese Programme im laufenden Betrieb zu aktualisieren.
Hier kommt Polars ins Spiel. Es ist in Rust geschrieben und bietet eine Python-API an. Polars ist unglaublich schnell, da es die verfügbaren CPU-Kerne selbstständig parallel nutzt und bei sehr großen Datensätzen nicht alle Daten komplett im Arbeitsspeicher hält. In diesem Artikel vergleichen wir die Performance von Pandas, Pandas mit PyArrow und Polars miteinander. Außerdem stellen wir die grundlegenden Konzepte von Polars vor und zeigen, wie Nutzer die SQL-Fähigkeiten und das Plotting einsetzen können.
Das war die Leseprobe unseres heise-Plus-Artikels " Python: Große DataFrames viel schneller bearbeiten dank Polars". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.