Naredite Pande 3-krat hitrejše s PyPolarji

Izvorno vozlišče: 1854103

Naredite Pande 3-krat hitrejše s PyPolarji

Naučite se, kako pospešiti potek dela Pandas s knjižnico PyPolars.


By Satyam Kumar, navdušenec in programer strojnega učenja



Foto: Tim Gouw on Unsplash

 

Pandas je eden najpomembnejših paketov Python med podatkovnimi znanstveniki za igranje s podatki. Knjižnica Pandas se večinoma uporablja za raziskovanje podatkov in vizualizacije, saj ima ogromno vgrajenih funkcij. Pandas ne uspe obdelati podatkovnih nizov velike velikosti, ker ne prilagaja ali porazdeli svojega procesa po vseh jedrih CPE.

Če želite pospešiti izračune, lahko uporabite vsa jedra CPE in pospešite potek dela. Obstajajo različne odprtokodne knjižnice, vključno z Dask, Vaex, Modin, Pandarallel, PyPolars itd., ki vzporedno izvajajo izračune v več jedrih CPE. V tem članku bomo razpravljali o implementaciji in uporabi knjižnice PyPolars ter primerjali njeno delovanje s knjižnico Pandas.

Kaj je PyPolars?

 
PyPolars je odprtokodna knjižnica podatkovnih okvirov Python, podobna Pandas. PyPolars uporablja vsa razpoložljiva jedra CPU in zato izvaja izračune hitreje kot Pandas. PyPolars ima API, podoben API-ju Pandas. Napisano je v rji z ovoji Python.


V idealnem primeru se PyPolars uporablja, ko so podatki preveliki za Pandas in premajhni za Spark


Kako deluje PyPolars?

 
Knjižnica PyPolars ima dva API-ja, eden je Eager API, drugi pa Lazy API. API Eager je zelo podoben API-ju Pandas, rezultati pa se ustvarijo takoj po zaključku izvajanja, podobno kot Pandas. Lazy API je zelo podoben Sparku, kjer se zemljevid ali načrt oblikuje ob izvedbi poizvedbe. Nato se izvedba izvede vzporedno v vseh jedrih CPE.



(Slika avtorja), API-ji PyPolars

 

PyPolars je v bistvu vezava pythona na knjižnico Polars. Najboljši del knjižnice PyPolars je podobnost API-ja s programom Pandas, kar razvijalcem olajša delo.

namestitev:

 
PyPolars lahko namestite iz PyPl z naslednjim ukazom:

pip install py-polars


in uvozite knjižnico z uporabo

import pypolars as pl


Primerjalne časovne omejitve:


Za predstavitve sem uporabil nabor podatkov velike velikosti (~6.4 Gb), ki ima 25 milijonov primerkov.




(Slika avtorja), merilno časovno število za osnovne operacije Pandas in Py-Polars

 

Za zgornje referenčne časovne številke za nekatere osnovne operacije z uporabo Pandas in knjižnice PyPolars lahko opazimo, da je PyPolars skoraj 2x do 3x hitrejši od Pandas.

Zdaj vemo, da ima PyPolars API, ki je zelo podoben API-ju Pandas, vendar še vedno ne pokriva vseh funkcij Pandas. Na primer, nimamo .describe() namesto tega lahko uporabimo funkcijo v PyPolars df_pypolars.to_pandas().describe()

Uporaba:

 

(Koda avtorja)

ugotovitev:

 
V tem članku smo predstavili majhen uvod v knjižnico PyPolars, vključno z njeno implementacijo, uporabo in primerjavo njenih referenčnih časovnih številk s Pandami za nekatere osnovne operacije. Upoštevajte, da PyPolars deluje zelo podobno kot Pandas in da je PyPolars pomnilniško učinkovita knjižnica, saj je pomnilnik, ki ga podpira, nespremenljiv.

Lahko gre skozi Dokumentacija da bi podrobno razumeli knjižnico. Obstajajo različne druge odprtokodne knjižnice, ki lahko vzporedijo operacije Pandas in pospešijo proces. Preberi spodaj omenjeni članek poznati 4 take knjižnice:

4 knjižnice, ki lahko vzporedijo obstoječi ekosistem Pandas
Porazdelite delovno obremenitev Pythona z vzporedno obdelavo z uporabo teh ogrodij

 
Reference:

[1] Dokumentacija Polars in repozitorij GitHub: https://github.com/ritchie46/polars

 
Hvala za branje

 
Bio: Satyam Kumar je navdušenec in programer strojnega učenja. Satyam piše o podatkovni znanosti in je najboljši pisec na področju umetne inteligence. Išče zahtevno kariero v organizaciji, ki ponuja priložnost, da izkoristi svoje tehnične spretnosti in sposobnosti.

prvotni. Poročeno z dovoljenjem.

Povezano:

Vir: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html

Časovni žig:

Več od KDnuggets