Ein Kollege und ich haben einige vorläufige Studien zu den Leistungsunterschieden zwischen Pandas und data.table durchgeführt. Sie finden die Studie (die in zwei Teile geteilt wurde) in unserem Blog (Teil zwei finden Sie hier ).
Wir haben festgestellt, dass es einige Aufgaben gibt, bei denen Pandas die data.table deutlich übertreffen, aber auch Fälle, in denen die data.table viel schneller ist. Sie können es selbst überprüfen und uns Ihre Meinung zu den Ergebnissen mitteilen.
BEARBEITEN:
Wenn Sie die Blogs nicht im Detail lesen möchten, finden Sie hier eine kurze Zusammenfassung unseres Setups und unserer Ergebnisse:
Installieren
Wir verglichen pandas
und untersuchten data.table
12 verschiedene simulierte Datensätze für die folgenden Operationen (bisher), die wir Szenarien nannten.
- Datenabruf mit einer Auswahloperation
- Datenfilterung mit einer bedingten Auswahloperation
- Datensortiervorgänge
- Datenaggregationsoperationen
Die Berechnungen wurden auf einer Maschine mit einem Intel i7 2,2 GHz mit 4 physischen Kernen, 16 GB RAM und einer SSD-Festplatte durchgeführt. Softwareversionen waren OS X 10.13.3, Python 3.6.4 und R 3.4.2. Die jeweils verwendeten Bibliotheksversionen waren 0.22 für Pandas und 1.10.4-3 für data.table
Führt zu einer Nussschale
data.table
scheint beim Auswählen von Spalten schneller zu sein ( pandas
durchschnittlich 50% mehr Zeit)
pandas
filtert Zeilen schneller (durchschnittlich ca. 50%)
data.table
scheint beim Sortieren erheblich schneller zu sein ( pandas
war manchmal 100-mal langsamer)
- Das Hinzufügen einer neuen Spalte erfolgt schneller mit
pandas
- Aggregationsergebnisse sind völlig gemischt
Bitte beachten Sie, dass ich versucht habe, die Ergebnisse so weit wie möglich zu vereinfachen, um Sie nicht zu Tode zu langweilen. Für eine vollständigere Visualisierung lesen Sie die Studien. Wenn Sie nicht auf unsere Webseite zugreifen können, senden Sie mir bitte eine Nachricht und ich werde Ihnen unsere Inhalte weiterleiten. Sie finden den Code für die vollständige Studie auf GitHub . Wenn Sie Ideen zur Verbesserung unserer Studie haben, schreiben Sie uns bitte eine E-Mail. Sie finden unsere Kontakte auf GitHub.