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ó:
Legnépszerűbb történetek az elmúlt 30 napból
Forrás: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- algoritmusok
- Minden termék
- között
- api
- API-k
- körül
- cikkben
- auto
- benchmark
- BEST
- Könyvek
- Karrier
- karrier
- kód
- dátum
- adat-tudomány
- adattudós
- adatmegjelenítés
- üzlet
- fejlesztők
- mérnök
- stb.
- végrehajtás
- GitHub
- útmutató
- Hogyan
- How To
- HTTPS
- kép
- Beleértve
- IT
- nagy
- TANUL
- tanulás
- könyvtár
- gépi tanulás
- térkép
- közepes
- microsoft
- Microsoft Research
- millió
- modell
- számok
- Művelet
- Alkalom
- Más
- teljesítmény
- Készült
- Piton
- Olvasás
- kutatás
- Eredmények
- Rozsda
- Skála
- Tudomány
- Méret
- készségek
- kicsi
- sebesség
- SQL
- kezdet
- TÖRTÉNETEK
- Műszaki
- idő
- Tónus
- felső
- megjelenítés
- munkafolyamat
- művek
- író
- X