Bir meslektaşım ve ben pandalar ve veriler arasındaki performans farklılıkları üzerine bazı ön çalışmalar yaptık. Araştırmayı (iki bölüme ayrılmış olan) Blogumuzda bulabilirsiniz (ikinci bölümü burada bulabilirsiniz) ).
Pandaların verilerden açıkça daha iyi performans gösterdiği bazı görevler olduğunu düşündük. Tablo, aynı zamanda data.table'ın çok daha hızlı olduğu durumlar. Bunu kendiniz kontrol edebilir ve sonuçlar hakkında ne düşündüğünüzü bize bildirebilirsiniz.
DÜZENLE:
Blogları ayrıntılı olarak okumak istemiyorsanız, kurulumumuzun ve bulgularımızın kısa bir özeti:
Kurmak
Biz karşılaştırıldı pandas
ve data.table
biz senaryolar denilen (şimdiye kadar) aşağıdaki işlemleri üzerinde 12 farklı simüle veri setleri üzerinde.
- Seçim benzeri bir işlemle veri alma
- Koşullu seçme işlemi ile veri filtreleme
- Veri sıralama işlemleri
- Veri toplama işlemleri
Hesaplamalar, 4 fiziksel çekirdekli, 16 GB RAM ve SSD sabit sürücülü Intel i7 2.2GHz bir makinede gerçekleştirildi. Yazılım Sürümleri OS X 10.13.3, Python 3.6.4 ve R 3.4.2 idi. Kullanılan ilgili kütüphane versiyonları pandalar için 0.22 ve veriler için 1.10.4-3 idi.
Özetle sonuçlar
data.table
sütunları seçerken daha hızlı görünüyor (pandas
ortalama% 50 daha fazla zaman alıyor)
pandas
filtreleme satırlarında daha hızlıdır (ortalama olarak yaklaşık% 50)
data.table
sıralamada oldukça hızlı görünüyor (pandas
bazen 100 kat daha yavaştı)
- ile yeni bir sütun eklemek daha hızlı görünür
pandas
- toplama sonuçları tamamen karışık
Sizi ölüme düşürmemek için sonuçları mümkün olduğunca basitleştirmeye çalıştığımı lütfen unutmayın. Daha eksiksiz bir görselleştirme için çalışmaları okuyun. Web sayfamıza erişemiyorsanız, lütfen bana bir mesaj gönderin, size içeriğimizi ileteceğim. Tüm çalışmanın kodunu GitHub'da bulabilirsiniz . Çalışmamızı nasıl geliştireceğiniz hakkında fikirleriniz varsa, lütfen bize bir e-posta gönderin. Kişilerimizi GitHub'da bulabilirsiniz.