Muutke pandad PyPolarsi abil kolm korda kiiremaks
Siit saate teada, kuidas PyPolarsi teeki kasutades Pandade töövoogu kiirendada.
By Satyam Kumar, masinõppe entusiast ja programmeerija
Foto: Tim Gouw on Unsplash
Pandas on andmeteadlaste seas üks olulisemaid Pythoni pakette, millega andmetega ringi mängida. Panda raamatukogu kasutatakse enamasti andmete uurimiseks ja visualiseerimiseks, kuna see sisaldab palju sisseehitatud funktsioone. Pandad ei suuda käsitleda suuri andmekogumeid, kuna need ei skaleeri ega jaota oma protsessi kõigi protsessori tuumade vahel.
Arvutuste kiirendamiseks saab kasutada kõiki protsessori tuumasid ja kiirendada töövoogu. On mitmeid avatud lähtekoodiga teeke, sealhulgas Dask, Vaex, Modin, Pandarallel, PyPolars jne, mis paralleelstavad arvutusi mitme protsessori tuuma vahel. Selles artiklis käsitleme PyPolarsi teegi rakendamist ja kasutamist ning võrdleme selle toimivust Pandase raamatukoguga.
Mis on PyPolars?
PyPolars on avatud lähtekoodiga Pythoni andmeraami teek, mis sarnaneb Pandasele. PyPolars kasutab kõiki saadaolevaid protsessori tuumasid ja teeb seega arvutused kiiremini kui Pandas. PyPolarsil on Pandade omaga sarnane API. See on kirjutatud roostes Pythoni ümbristega.
Ideaalis kasutatakse PyPolarsi siis, kui andmed on Pandade jaoks liiga suured ja Sparki jaoks liiga väikesed
Kuidas PyPolars töötab?
PyPolarsi raamatukogul on kaks API-d, üks on Eager API ja teine Lazy API. Eager API on väga sarnane Pandade omaga ja tulemused saadakse kohe pärast täitmise lõpetamist sarnaselt Pandadele. Lazy API on väga sarnane Sparkiga, kus päringu täitmisel moodustatakse kaart või plaan. Seejärel teostatakse täitmine paralleelselt kõigis protsessori tuumades.
(Autori pilt), PyPolarsi API
PyPolars on põhimõtteliselt Python siduv Polarsi raamatukoguga. PyPolarsi teegi parim osa on selle API sarnasus Pandadega, mis muudab selle arendajatele lihtsamaks.
Paigaldus:
PyPolarsi saab PyPl-st installida järgmise käsu abil:
pip install py-polars
ja importige raamatukogu kasutades
import pypolars as pl
Võrdlusuuringu ajapiirangud:
Demonstreerimiseks olen kasutanud suurt andmestikku (~ 6.4 Gb), millel on 25 miljonit eksemplari.
(Autori pilt), Pandade ja Py-Polarsi põhitoimingute ajanumber
Eespool toodud ajanumbrite puhul Pandase ja PyPolarsi teeki kasutavate põhitoimingute jaoks võime täheldada, et PyPolars on peaaegu 2–3 korda kiirem kui Pandas.
Nüüd teame, et PyPolarsil on Pandade omaga väga sarnane API, kuid siiski ei kata see kõiki Pandade funktsioone. Meil näiteks ei ole .describe()
funktsiooni PyPolarsis, saame selle asemel kasutada df_pypolars.to_pandas().describe()
Kasutus:
(Autori kood)
Järeldus:
Selles artiklis oleme käsitlenud PyPolarsi teegi väikest sissejuhatust, sealhulgas selle rakendamist, kasutamist ja selle võrdlusaega Pandadega mõne põhitoimingu jaoks. Pange tähele, et PyPolars töötab väga sarnaselt Pandade omaga ja PyPolars on mälutõhus raamatukogu, kuna selle taga olev mälu on muutumatu.
Üks saab läbida dokumentatsioon raamatukogust üksikasjaliku ülevaate saamiseks. On mitmeid teisi avatud lähtekoodiga teeke, mis võivad Pandade toiminguid paralleelselt ühendada ja protsessi kiirendada. Loe allpool mainitud artikkel teada 4 sellist raamatukogu:
4 raamatukogu, mis suudavad olemasoleva Panda ökosüsteemi paralleelselt ühendada
Jaotage Pythoni töökoormus paralleeltöötlusega, kasutades neid raamistikke
viited:
[1] Polarsi dokumentatsioon ja GitHubi hoidla: https://github.com/ritchie46/polars
Aitäh Lugemise eest
Bio: Satyam Kumar on masinõppe entusiast ja programmeerija. Satyam kirjutab Andmeteaduse kohta ja on AI tippkirjanik. Ta otsib väljakutseid pakkuvat karjääri organisatsioonis, mis annab võimaluse tema tehnilisi oskusi ja võimeid ära kasutada.
Originaal. Loaga uuesti postitatud.
Seotud:
Viimase 30 päeva populaarseimad lood
Allikas: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- vahel
- API
- API-liidesed
- ümber
- artikkel
- auto
- võrrelda
- BEST
- Raamatud
- Karjäär
- karjääri
- kood
- andmed
- andmeteadus
- andmeteadlane
- andmete visualiseerimine
- tegelema
- Arendajad
- insener
- jms
- täitmine
- GitHub
- suunata
- Kuidas
- Kuidas
- HTTPS
- pilt
- Kaasa arvatud
- IT
- suur
- Õppida
- õppimine
- Raamatukogu
- masinõpe
- kaart
- keskmine
- Microsoft
- Microsoft Research
- miljon
- mudel
- numbrid
- Operations
- Võimalus
- Muu
- jõudlus
- Toodetud
- Python
- Lugemine
- teadustöö
- Tulemused
- Rust
- Skaala
- teadus
- SUURUS
- oskused
- väike
- kiirus
- SQL
- algus
- Lood
- Tehniline
- aeg
- tonni
- ülemine
- visualiseerimine
- töövoog
- töötab
- kirjanik
- X