Yeni Polars kitaplığının birçok kıyaslamada Pandaları geride bıraktığını iddia etmek doğru mu yoksa Pandalar kitaplığı hâlâ baskın seçim mi?
Veri analizi görevlerini yerine getirirken, muhtemelen Pandalarla karşılaşmışsınızdır. Uzun zamandır veri analizinde en baskın kütüphane olmuştur. Öte yandan Polars, yüksek performans ve bellek verimliliğine sahip nispeten yeni bir kitaplıktır. Ama hangisi daha iyi?
Burada, bir dizi yaygın veri işleme görevinde Pandalar ve Polarlar arasındaki performans karşılaştırmasını göreceksiniz.
Performans Ölçümü: Metrikler ve Kıyaslama Veri Kümesi
Bu karşılaştırma Pandaların ve kutuplar Black Friday Sale veri kümesini manipüle etmek için kütüphaneler Kaggle. Bu veri kümesi 550.068 satır veri içerir. Müşteri demografisi, satın alma geçmişi ve ürün ayrıntıları hakkında bilgiler içerir.
Adil performans ölçümleri sağlamak için karşılaştırma, yürütme süresini her görevde standart bir performans ölçüsü olarak kullanacaktır. Her karşılaştırma görevi için kodu çalıştıracak platform Google Colab olacaktır.
Pandas ve Polars kitaplıklarını karşılaştıran tam kaynak kodu, bir GitHub deposu.
CSV Dosyasından Veri Okuma
Bu görev, her kitaplığın Kara Cuma İndirimi veri kümesindeki verileri okuması için geçen süreyi karşılaştırır. veri kümesi içinde CSV biçimi. Pandalar ve Kutuplar bu görev için benzer işlevler sunar.
Pandalar, Polars'ın Kara Cuma İndirimi veri kümesindeki verileri okuma süresinin iki katı kadar zaman harcıyor.
Sütunları Seçme
Bu görev, her kitaplığın veri kümesinden sütunları seçmesi için geçen süreyi ölçer. seçilmesini içerir. Kullanıcı kimliği Ve Satın almak sütunlar.
Kutuplar, veri kümesinden sütunları seçmek için Pandalara kıyasla önemli ölçüde daha az zaman harcar.
Satırları Filtreleme
Bu görev, her kitaplığın performansını filtreleme satırlarında karşılaştırır. Cinsiyet sütun, veri kümesinden F'dir.
Kutupların satırları filtrelemesi Pandalara kıyasla çok kısa sürer.
Verileri Gruplama ve Toplama
Bu görev, verileri bir veya daha fazla sütuna göre gruplandırmayı içerir. Ardından, gruplar üzerinde bazı toplama işlemlerinin gerçekleştirilmesi. Her kitaplığın verileri gruplandırması için geçen süreyi ölçer. Cinsiyet sütununa tıklayın ve her grup için ortalama satın alma tutarını hesaplayın.
Yine Polars, Pandalardan daha iyi performans gösteriyor. Ancak kenar boşluğu, satırları filtrelemek kadar büyük değil.
İşlevleri Verilere Uygulama
Bu görev, bir veya daha fazla sütuna bir işlev uygulamayı içerir. Her kitaplığın sayıyı çoğaltması için geçen süreyi ölçer. Satın almak 2'ye göre sütun.
Polars çubuğunu zar zor görebilirsiniz. Kutuplar bir kez daha Pandalardan daha iyi performans gösteriyor.
Verileri Birleştirme
Bu görev içerir iki veya daha fazla DataFrame'i birleştirme bir veya daha fazla ortak sütunun mevcut olması temelinde. Her kitaplığın birleştirilmesi için geçen süreyi ölçer. Kullanıcı kimliği Ve Satın almak iki ayrı DataFrame'den sütunlar.
Her iki kütüphanenin de bu görevi tamamlaması biraz zaman alır. Ancak Polars, Pandaların verileri birleştirme süresinin neredeyse yarısını alıyor.
Polars Neden Pandaları Geçebilir?
Yukarıdaki tüm veri işleme görevlerinde Polars, Pandalardan daha iyi performans gösterir. Yürütme süresinde Polars'ın Panda'lardan daha iyi performans göstermesinin birkaç nedeni vardır.
- Bellek Optimizasyonu: Polars, bellek kullanımını optimize eden bir sistem programlama dili olan Rust'ı kullanır. Polars'ın bellek ayırma ve yeniden ayırma için harcadığı zamanı en aza indirmesine olanak tanır. Bu yürütme süresini hızlandırır.
- SIMD (Single Instruction Multiple Data) İşlemleri: Polars, veriler üzerinde hesaplamalar yapmak için SIMD işlemlerini kullanır. Bu, aynı işlemi aynı anda birden fazla veri öğesinde gerçekleştirmek için tek bir talimat kullanabileceği anlamına gelir. Bu, Polars'ın işlemleri tek iş parçacıklı bir yaklaşım kullanan Pandalardan çok daha hızlı gerçekleştirmesini sağlar.
- Tembel Değerlendirme: Polars, işlemlerin yürütülmesini ihtiyaç duyana kadar geciktirmek için tembel değerlendirmeyi kullanır. Bu, Polars'ın gereksiz işlemler için harcadığı zamanı azaltır ve performansı artırır.
Veri Bilimi Becerilerinizi Genişletin
Veri biliminde size yardımcı olabilecek birçok Python kitaplığı vardır. Pandalar ve Kutuplar sadece küçük bir kısımdır. Programınızın performansını artırmak için, daha fazla veri bilimi kitaplığına aşina olmalısınız. Bu, kullanım durumunuza en uygun kitaplığı karşılaştırmanıza ve seçmenize yardımcı olacaktır.