Tee Pandoista 3 kertaa nopeampi PyPolarsilla
Opi nopeuttamaan Pandas-työnkulkua PyPolars-kirjaston avulla.
By Satyam Kumar, Koneoppimisen harrastaja ja ohjelmoija
Kuva Tim Gouw on Unsplash
Pandas on yksi tärkeimmistä datatieteilijöiden keskuudessa toimivista Python-paketeista, joita voi pelata tietojen kanssa. Pandas-kirjastoa käytetään lähinnä tietojen etsintään ja visualisointeihin, koska siihen sisältyy tonnia sisäänrakennettuja toimintoja. Pandat eivät kykene käsittelemään suurikokoisia tietojoukkoja, koska se ei skaalaa tai jaa prosessia kaikkien suorittimen ytimien kesken.
Laskennan nopeuttamiseksi voidaan käyttää kaikkia suorittimen ytimiä ja nopeuttaa työnkulkua. On olemassa useita avoimen lähdekoodin kirjastoja, kuten Dask, Vaex, Modin, Pandarallel, PyPolars jne., Jotka rinnastavat laskelmat suorittimen useiden ytimien välillä. Tässä artikkelissa keskustellaan PyPolars-kirjaston toteutuksesta ja käytöstä ja verrataan sen suorituskykyä Pandas-kirjastoon.
Mikä on PyPolars?
PyPolars on avoimen lähdekoodin Python-tietokehyskirjasto, joka on samanlainen kuin Pandas. PyPolars käyttää kaikkia suorittimen käytettävissä olevia ytimiä ja suorittaa siten laskelmat nopeammin kuin Pandas. PyPolarsilla on samanlainen API kuin Pandalla. Se on kirjoitettu ruosteessa Python-kääreillä.
Ihannetapauksessa PyPolarsia käytetään, kun tiedot ovat liian suuret Pandoille ja liian pienet Sparkille
Kuinka PyPolars toimii?
PyPolars-kirjastolla on kaksi sovellusliittymää, toinen on Eager API ja toinen Lazy API. Eager-sovellusliittymä on hyvin samanlainen kuin Pandas, ja tulokset tuotetaan heti suorituksen päätyttyä samanlaisena kuin Pandas. Lazy API on hyvin samanlainen kuin Spark, jossa kartta tai suunnitelma muodostetaan kyselyn suorittamisen yhteydessä. Sitten suoritus suoritetaan rinnakkain CPU: n kaikkien ytimien välillä.
(Kuva tekijältä), PyPolars-sovellusliittymät
PyPolars on pohjimmiltaan python-sitoutuminen Polars-kirjastoon. Paras osa PyPolars-kirjastoa on sen API-samankaltaisuus Pandojen kanssa, mikä helpottaa kehittäjiä.
Asennus:
PyPolars voidaan asentaa PyPl: stä seuraavan komennon avulla:
pip install py-polars
ja tuoda kirjasto käyttämällä
import pypolars as pl
Vertailuajan rajoitukset:
Esityksiin olen käyttänyt suurikokoista tietoaineistoa (~ 6.4 Gt), jossa on 25 miljoonaa esiintymää.
(Kuva tekijältä), Vertailuajan numero pandojen ja Py-Polarsin perustoiminnoille
Joidenkin Pandas- ja PyPolars-kirjastoa käyttävien perustoimintojen vertailuajankohdan numeroiden osalta voimme havaita, että PyPolars on lähes 2-3x nopeampi kuin Pandas.
Nyt tiedämme, että PyPolarsilla on API, joka on hyvin samanlainen kuin pandojen, mutta silti se ei kata kaikkia pandojen toimintoja. Esimerkiksi meillä ei ole .describe()
PyPolarsissa, sen sijaan voimme käyttää df_pypolars.to_pandas().describe()
Käyttö:
(Tekijän koodi)
Johtopäätös:
Tässä artikkelissa olemme käsitelleet pienen johdannon PyPolars-kirjastoon, mukaan lukien sen käyttöönotto, käyttö ja vertailun vertailuaikaa Pandojen kanssa joissakin perustoiminnoissa. Huomaa, että PyPolars toimii hyvin samankaltaisesti kuin Pandas ja PyPolars on muistitehokas kirjasto, koska sen tukema muisti on muuttumaton.
Voidaan käydä läpi dokumentointi saadaksesi yksityiskohtaisen käsityksen kirjastosta. On olemassa useita muita avoimen lähdekoodin kirjastoja, jotka voivat rinnastaa Pandas-toiminnot ja nopeuttaa prosessia. Lue alla mainittu artikkeli tuntea 4 tällaista kirjastoa:
4 kirjastoa, jotka voivat rinnastaa olemassa olevan Pandas-ekosysteemin
Jaa Python-työmäärä rinnakkaiskäsittelyllä näiden kehysten avulla
Viitteet:
[1] Polars-dokumentaatio ja GitHub-arkisto: https://github.com/ritchie46/polars
Kiitos, että luit
Bio: Satyam Kumar on koneoppimisen harrastaja ja ohjelmoija. Satyam kirjoittaa tietotekniikasta ja on tekoälyn huipputekijä. Hän etsii haastavaa uraa organisaatiossa, joka tarjoaa mahdollisuuden hyödyntää hänen teknisiä taitojaan.
Alkuperäinen. Postitettu luvalla.
Related:
Suosituimmat tarinat viimeisen 30 päivän aikana
Lähde: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- algoritmit
- Kaikki
- keskuudessa
- api
- API
- noin
- artikkeli
- auto
- benchmark
- PARAS
- Kirjat
- Ura
- Työpaikat
- koodi
- tiedot
- tietojenkäsittely
- tietojen tutkija
- datan visualisointi
- sopimus
- kehittäjille
- insinööri
- jne.
- teloitus
- GitHub
- ohjaavat
- Miten
- Miten
- HTTPS
- kuva
- Mukaan lukien
- IT
- suuri
- OPPIA
- oppiminen
- Kirjasto
- koneoppiminen
- kartta
- keskikokoinen
- Microsoft
- Microsoft Research
- miljoona
- malli
- numerot
- Operations
- Tilaisuus
- Muut
- suorituskyky
- valmistettu
- Python
- Lukeminen
- tutkimus
- tulokset
- Ruoste
- Asteikko
- tiede
- Koko
- taitoja
- pieni
- nopeus
- SQL
- Alkaa
- tarinat
- Tekninen
- aika
- tonnia
- ylin
- visualisointi
- työnkulku
- toimii
- kirjailija
- X