Tedd háromszor gyorsabbá a pandákat a PyPolars segítségével

Forrás csomópont: 1854103

Tedd háromszor gyorsabbá a pandákat a PyPolars segítségével

Ismerje meg, hogyan gyorsíthatja fel Pandas munkafolyamatát a PyPolars könyvtár használatával.


By Satyam Kumar, gépi tanulás rajongó és programozó



Fotó Tim Gouw on Unsplash

 

A Pandas az egyik legfontosabb Python-csomag az adattudósok körében, amelyek az adatokkal játszanak. A Pandas könyvtárat leginkább adatfeltárásra és vizualizációra használják, mivel rengeteg beépített funkciót tartalmaz. A pandák nem tudnak nagy méretű adatkészleteket kezelni, mivel nem skálázzák vagy osztják szét a folyamatot a CPU összes magja között.

A számítások felgyorsítása érdekében a CPU összes magját felhasználhatjuk, és felgyorsíthatjuk a munkafolyamatot. Különféle nyílt forráskódú könyvtárak léteznek, köztük a Dask, Vaex, Modin, Pandarallel, PyPolars stb., amelyek párhuzamosítják a számításokat a CPU több magja között. Ebben a cikkben megvitatjuk a PyPolars könyvtár megvalósítását és használatát, és összehasonlítjuk teljesítményét a Pandas könyvtárral.

Mi az a PyPolars?

 
A PyPolars a Pandashoz hasonló, nyílt forráskódú Python adatkeret-könyvtár. A PyPolars a CPU összes elérhető magját felhasználja, és így gyorsabban végzi el a számításokat, mint a Pandák. A PyPolars a Pandákhoz hasonló API-val rendelkezik. Rozsdába van írva Python wrapperekkel.


Ideális esetben a PyPolars akkor használatos, ha az adatok túl nagyok a Pandák számára és túl kicsik a Spark számára


Hogyan működik a PyPolars?

 
A PyPolars könyvtár két API-val rendelkezik, az egyik az Eager API, a másik pedig a Lazy API. Az Eager API nagyon hasonlít a Pandáéhoz, és az eredmények közvetlenül a végrehajtás befejezése után születnek, hasonlóan a Pandákhoz. A Lazy API nagyon hasonlít a Sparkhoz, ahol egy lekérdezés végrehajtása során egy térkép vagy terv jön létre. Ezután a végrehajtás párhuzamosan történik a CPU összes magján.



(Kép a szerzőtől), PyPolars API

 

A PyPolars alapvetően pythonként kapcsolódik a Polars könyvtárhoz. A PyPolars könyvtár legjobb része az API hasonlósága a Pandashoz, ami megkönnyíti a fejlesztők számára.

Telepítés:

 
A PyPolars a PyPl-ből a következő paranccsal telepíthető:

pip install py-polars


és importálja a könyvtárat a segítségével

import pypolars as pl


A referenciaérték időkorlátai:


A demonstrációkhoz egy nagy méretű adatkészletet (~6.4 Gb) használtam, amely 25 millió példányt tartalmaz.




(Kép a szerzőtől), Benchmark Time Number a Pandák és a Py-Polars alapműveleteihez

 

A Pandas és PyPolars könyvtárat használó alapvető műveletek fenti benchmark időszámainál megfigyelhető, hogy a PyPolars majdnem 2-3-szor gyorsabb, mint a Pandas.

Most már tudjuk, hogy a PyPolars API-val nagyon hasonlít a Pandákhoz, de mégsem fedi le a Pandák összes funkcióját. Nálunk például nincs .describe() függvényt használhatjuk a PyPolarsban df_pypolars.to_pandas().describe()

Használat:

 

(Kód szerzőtől)

Következtetés:

 
Ebben a cikkben bemutattunk egy kis bevezetőt a PyPolars könyvtárba, beleértve annak megvalósítását, használatát, valamint a benchmark időszámok összehasonlítását a Pandákkal néhány alapvető művelethez. Vegye figyelembe, hogy a PyPolars nagyon hasonlóan működik, mint a Pandáké, és a PyPolars egy memóriahatékony könyvtár, mivel az általa támogatott memória megváltoztathatatlan.

Az ember átmehet a dokumentáció hogy részletesen megismerje a könyvtárat. Számos más nyílt forráskódú könyvtár is létezik, amelyek párhuzamosíthatják a Pandas műveleteket, és felgyorsíthatják a folyamatot. Olvassa el a alább említett cikk tudni 4 ilyen könyvtárat:

4 olyan könyvtár, amely párhuzamba állíthatja a meglévő Pandas ökoszisztémát
Ossza meg a Python-terhelést párhuzamos feldolgozással ezeknek a keretrendszereknek a használatával

 
Referenciák:

[1] Polars Documentation és GitHub adattár: https://github.com/ritchie46/polars

 
Köszönöm, hogy elolvasta

 
Bio: Satyam Kumar gépi tanulás rajongó és programozó. Satyam szerint az adattudományról, és a mesterséges intelligencia legjobb írója. Kihívásokkal teli karriert keres egy olyan szervezetnél, amely lehetőséget ad technikai készségeinek és képességeinek kamatoztatására.

eredeti. Engedéllyel újra közzétéve.

Kapcsolódó:

Forrás: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html

Időbélyeg:

Még több KDnuggets