Faceți Pandas de 3 ori mai rapid cu PyPolars
Aflați cum să vă accelerați fluxul de lucru Pandas folosind biblioteca PyPolars.
By Satyam Kumar, pasionat de învățare automată și programator
Fotografie de Tim Gouw on Unsplash
Pandas este unul dintre cele mai importante pachete Python dintre oamenii de știință de date pentru a se juca cu datele. Biblioteca Pandas este folosită mai ales pentru explorări și vizualizări de date, deoarece vine cu tone de funcții încorporate. Pandas nu reușește să gestioneze seturi de date de dimensiuni mari, deoarece nu își scalează sau nu își distribuie procesul în toate nucleele procesorului.
Pentru a accelera calculele, se pot utiliza toate nucleele procesorului și se pot accelera fluxul de lucru. Există diverse biblioteci open-source, inclusiv Dask, Vaex, Modin, Pandarallel, PyPolars etc., care paralelizează calculele pe mai multe nuclee ale procesorului. În acest articol, vom discuta despre implementarea și utilizarea bibliotecii PyPolars și vom compara performanța acesteia cu biblioteca Pandas.
Ce este PyPolars?
PyPolars este o bibliotecă de cadre de date Python open-source similară cu Pandas. PyPolars utilizează toate nucleele disponibile ale procesorului și, prin urmare, efectuează calculele mai rapid decât Pandas. PyPolars are un API similar cu cel al lui Pandas. Este scris în rugină cu ambalaje Python.
În mod ideal, PyPolars este folosit atunci când datele sunt prea mari pentru Pandas și prea mici pentru Spark
Cum funcționează PyPolars?
Biblioteca PyPolars are două API-uri, unul este Eager API și celălalt este Lazy API. Eager API este foarte asemănător cu cel al lui Pandas, iar rezultatele sunt produse imediat după finalizarea execuției, similar cu Pandas. Lazy API este foarte similar cu Spark, unde se formează o hartă sau un plan la executarea unei interogări. Apoi execuția este executată paralel pe toate nucleele CPU.
(Imagine după autor), API-urile PyPolars
PyPolars este practic ca python care se leagă la biblioteca Polars. Cea mai bună parte a bibliotecii PyPolars este asemănarea API-ului cu Pandas, ceea ce face mai ușor pentru dezvoltatori.
Instalare:
PyPolars poate fi instalat din PyPl folosind următoarea comandă:
pip install py-polars
și importați biblioteca folosind
import pypolars as pl
Constrângeri de timp de referință:
Pentru demonstrații, am folosit un set de date de dimensiuni mari (~6.4 Gb) cu 25 de milioane de instanțe.
(Imagine după autor), Număr de timp de referință pentru operațiunile de bază pentru Pandas și Py-Polars
Pentru numerele de timp de referință de mai sus pentru unele operațiuni de bază folosind biblioteca Pandas și PyPolars, putem observa că PyPolars este de aproape 2 până la 3 ori mai rapid decât Pandas.
Acum știm că PyPolars are un API foarte asemănător cu cel al lui Pandas, dar totuși, nu acoperă toate funcțiile lui Pandas. De exemplu, nu avem .describe()
funcția în PyPolars, în schimb, putem folosi df_pypolars.to_pandas().describe()
Utilizare:
(Cod după autor)
Concluzie:
În acest articol, am acoperit o mică introducere în biblioteca PyPolars, inclusiv implementarea acesteia, utilizarea și compararea numerelor de timp de referință cu Pandas pentru unele operațiuni de bază. Rețineți că PyPolars funcționează foarte asemănător cu cel al lui Pandas, iar PyPolars este o bibliotecă eficientă din punct de vedere al memoriei, deoarece memoria susținută de aceasta este imuabilă.
Se poate trece prin documentaţie pentru a obține o înțelegere detaliată a bibliotecii. Există diverse alte biblioteci open-source care pot paraleliza operațiunile Pandas și pot accelera procesul. Citeste articolul mai jos mentionat sa cunosti 4 astfel de biblioteci:
4 biblioteci care pot paraleliza ecosistemul existent Pandas
Distribuiți volumul de lucru Python prin procesare paralelă folosind aceste cadre
Referinte:
[1] Documentația Polars și depozitul GitHub: https://github.com/ritchie46/polars
Vă mulțumim pentru lectură
Bio: Satyam Kumar este un entuziast și programator de învățare automată. Satyam scrie despre Data Science și este un scriitor de top în AI. El caută o carieră provocatoare într-o organizație care oferă o oportunitate de a-și valorifica abilitățile și abilitățile tehnice.
Original. Repostat cu permisiunea.
Related:
Povestiri de top trecute 30 de zile
Sursa: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- algoritmi
- TOATE
- printre
- api
- API-uri
- în jurul
- articol
- Auto
- Benchmark
- CEL MAI BUN
- Manuale
- Carieră
- cariere
- cod
- de date
- știința datelor
- om de știință de date
- vizualizarea datelor
- afacere
- Dezvoltatorii
- inginer
- etc
- execuție
- GitHub
- ghida
- Cum
- Cum Pentru a
- HTTPS
- imagine
- Inclusiv
- IT
- mare
- AFLAȚI
- învăţare
- Bibliotecă
- masina de învățare
- Hartă
- mediu
- Microsoft
- Microsoft Research
- milion
- model
- numere
- Operațiuni
- Oportunitate
- Altele
- performanță
- Produs
- Piton
- Citind
- cercetare
- REZULTATE
- Rugină
- Scară
- Ştiinţă
- Mărimea
- aptitudini
- mic
- viteză
- SQL
- Începe
- Istorii
- Tehnic
- timp
- Ton
- top
- vizualizare
- flux de lucru
- fabrică
- scriitor
- X