PyPolars ile Pandaları 3 Kat Hızlandırın

Kaynak Düğüm: 1854103

PyPolars ile Pandaları 3 Kat Hızlandırın

PyPolars kitaplığını kullanarak Panda iş akışınızı nasıl hızlandıracağınızı öğrenin.


By Satyam Kumar, Makine Öğrenimi Meraklısı ve Programcı



Fotoğraf Tim Gouw on Unsplash

 

Pandalar, veri bilimcilerin verilerle oynayabileceği en önemli Python paketlerinden biridir. Pandas kütüphanesi, tonlarca dahili fonksiyonla birlikte geldiği için çoğunlukla veri keşifleri ve görselleştirmeler için kullanılır. Pandalar, işlemlerini CPU'nun tüm çekirdekleri arasında ölçeklendirmediği veya dağıtmadığı için büyük boyutlu veri kümelerini işleyemez.

Hesaplamaları hızlandırmak için CPU'nun tüm çekirdeklerini kullanabilir ve iş akışını hızlandırabilirsiniz. Dask, Vaex, Modin, Pandarallel, PyPolars vb. dahil olmak üzere, CPU'nun birden çok çekirdeğindeki hesaplamaları paralel hale getiren çeşitli açık kaynak kitaplıkları vardır. Bu yazımızda PyPolars kütüphanesinin uygulamasını ve kullanımını tartışacağız ve performansını Pandas kütüphanesi ile karşılaştıracağız.

PyPolars nedir?

 
PyPolars, Pandalara benzer açık kaynaklı bir Python veri çerçevesi kitaplığıdır. PyPolars, CPU'nun mevcut tüm çekirdeklerini kullanır ve bu nedenle hesaplamaları Pandalardan daha hızlı gerçekleştirir. PyPolars, Pandalarınkine benzer bir API'ye sahiptir. Python sarmalayıcıları ile pas içinde yazılmıştır.


İdeal olarak, veriler Pandalar için çok büyük ve Spark için çok küçük olduğunda PyPolars kullanılır.


PyPolars Nasıl Çalışır?

 
PyPolars kitaplığında biri Eager API, diğeri Lazy API olmak üzere iki API vardır. Eager API, Pandalarınkine çok benzer ve sonuçlar, Pandalara benzer şekilde yürütme tamamlandıktan hemen sonra üretilir. Tembel API, bir sorgunun yürütülmesi üzerine bir harita veya planın oluşturulduğu Spark'a çok benzer. Ardından yürütme, CPU'nun tüm çekirdeklerinde paralel olarak yürütülür.



(Yazarın Resmi), PyPolars API'leri

 

PyPolars, temelde Polars kitaplığına bağlanan python gibidir. PyPolars kitaplığının en iyi yanı, geliştiricilerin işini kolaylaştıran Pandas'a API benzerliğidir.

Kurulum:

 
PyPolars, aşağıdaki komut kullanılarak PyPl'den yüklenebilir:

pip install py-polars


ve kullanarak kitaplığı içe aktarın

import pypolars as pl


Benchmark Zaman Kısıtlamaları:


Gösteriler için 6.4 milyon örneğe sahip büyük boyutlu bir veri seti (~25Gb) kullandım.




(Yazarın Resmi), Pandalar ve Py-Polars temel işlemleri için Benchmark Zaman Numarası

 

Pandalar ve PyPolars kitaplığını kullanan bazı temel işlemler için yukarıdaki kıyaslama zaman sayıları için, PyPolars'ın Pandalardan neredeyse 2 kat ila 3 kat daha hızlı olduğunu gözlemleyebiliriz.

Artık PyPolars'ın Pandalarınkine çok benzer bir API'si olduğunu biliyoruz, ancak yine de Pandaların tüm işlevlerini kapsamamaktadır. Örneğin, bizde yok .describe() PyPolars'ta işlev, bunun yerine kullanabiliriz df_pypolars.to_pandas().describe()

Kullanımı:

 

(Yazar Kodu)

Sonuç:

 
Bu makalede, uygulaması, kullanımı ve bazı temel işlemler için karşılaştırmalı zaman sayılarının Panda'larla karşılaştırılması dahil olmak üzere PyPolars kitaplığına küçük bir giriş yaptık. PyPolars'ın Pandalarınkine çok benzer şekilde çalıştığını ve PyPolars'ın desteklediği bellek değişmez olduğu için bellek açısından verimli bir kitaplık olduğunu unutmayın.

biri geçebilir belgeleme kütüphane hakkında ayrıntılı bilgi edinmek için. Pandaların işlemlerini paralelleştirebilecek ve süreci hızlandırabilecek çeşitli açık kaynak kitaplıkları vardır. Okumak aşağıda belirtilen makale 4 tür kütüphaneyi bilmek:

Mevcut Panda ekosistemini paralel hale getirebilecek 4 kitaplık
Python iş yükünü bu çerçeveleri kullanarak paralel işleme yoluyla dağıtın

 
Referanslar:

[1] Polars Belgeleri ve GitHub deposu: https://github.com/ritchie46/polars

 
Okuduğunuz için teşekkürler

 
Bio: Satyam Kumar Makine Öğrenimi Meraklısı ve Programcısıdır. satyam yazıyor Veri Bilimi hakkındadır ve AI'da En İyi Yazardır. Teknik becerilerinden ve yeteneklerinden yararlanma fırsatı sağlayan bir organizasyonda zorlu bir kariyer arıyor.

orijinal. İzinle yeniden yayınlandı.

İlgili:

Kaynak: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html

Zaman Damgası:

Den fazla KDNuggets