Ali je pravilna trditev, da nova knjižnica Polars presega Pande v več merilih uspešnosti, ali je knjižnica Pandas še vedno prevladujoča izbira?

Med izvajanjem nalog analize podatkov ste verjetno naleteli na Pande. Že dolgo je prevladujoča knjižnica pri analizi podatkov. Po drugi strani je Polars razmeroma nova knjižnica, ki se ponaša z visoko zmogljivostjo in učinkovitostjo pomnilnika. Toda kateri je boljši?

Tukaj boste videli primerjavo zmogljivosti med Pandas in Polars v vrsti običajnih nalog manipulacije podatkov.

Merjenje uspešnosti: meritve in primerjalni nabor podatkov

Ta primerjava bo upoštevala sposobnost Pand in Polari knjižnice, iz katerih lahko manipulirate z naborom podatkov o prodaji na črni petek Kaggle. Ta niz podatkov vsebuje 550.068 vrstic podatkov. Vključuje informacije o demografskih podatkih strank, zgodovini nakupov in podrobnostih o izdelku.

Za zagotovitev poštenih meritev uspešnosti bo primerjava uporabila čas izvajanja kot standardno meritev uspešnosti za vsako nalogo. Platforma za izvajanje kode za vsako primerjalno nalogo bo Google Colab.

Celotna izvorna koda, ki primerja knjižnici Pandas in Polars, je na voljo v a Repozitorij GitHub.

Branje podatkov iz datoteke CSV

Ta naloga primerja čas, ki ga vsaka knjižnica potrebuje za branje podatkov iz nabora podatkov o razprodaji na črni petek. Nabor podatkov je notri format CSV. Pandas in Polars ponujata podobno funkcionalnost za to nalogo.

Pande porabijo dvakrat več časa kot Polars za branje podatkov v naboru podatkov o razprodajah na črni petek.

Izbiranje stolpcev

Ta naloga meri čas, ki je potreben, da posamezna knjižnica izbere stolpce iz nabora podatkov. Vključuje izbiro Uporabniško ime in Nakup stolpce.

Polars potrebuje bistveno manj časa za izbiro stolpcev iz nabora podatkov v primerjavi s Pandas.

Filtriranje vrstic

Ta naloga primerja zmogljivost vsake knjižnice pri filtriranju vrstic, kjer je Spol stolpec je F iz nabora podatkov.

Polari potrebujejo zelo kratek čas v primerjavi s Pandami, da filtrirajo vrstice.

Združevanje in združevanje podatkov

Ta naloga vključuje združevanje podatkov po enem ali več stolpcih. Nato izvajanje nekaterih funkcij združevanja na skupinah. Meri čas, ki je potreben, da vsaka knjižnica združi podatke glede na Spol in izračunajte povprečni znesek nakupa za vsako skupino.

Polari so spet boljši od Pand. Vendar marža ni tako velika kot pri filtriranju vrstic.

Uporaba funkcij za podatke

Ta naloga vključuje uporabo funkcije za enega ali več stolpcev. Meri čas, ki je potreben, da posamezna knjižnica pomnoži Nakup stolpec z 2.

Bar Polars se komaj vidi. Polars ponovno prekašajo Pande.

Združevanje podatkov

Ta naloga vključuje združevanje dveh ali več podatkovnih okvirjev na podlagi obstoja enega ali več skupnih stolpcev. Meri čas, ki ga vsaka knjižnica potrebuje za združitev Uporabniško ime in Nakup stolpce iz dveh ločenih DataFramesov.

Obe knjižnici potrebujeta nekaj časa, da dokončata to nalogo. Toda Polars potrebuje skoraj polovico časa, ki ga potrebuje Panda, da združi podatke.

Zakaj je Polars sposoben prekašati Pande?

Pri vseh zgornjih nalogah obdelave podatkov Polars prekašajo Pande. Obstaja več razlogov, zakaj so lahko Polars boljši od Pand v času izvajanja.

  • Optimizacija pomnilnika: Polars uporablja Rust, sistemski programski jezik, ki optimizira uporabo pomnilnika. Polarju omogoča, da zmanjša čas, ki ga porabi za dodeljevanje in sprostitev pomnilnika. Zaradi tega je čas izvedbe hitrejši.
  • Operacije SIMD (Eno navodilo za več podatkov).: Polars uporablja operacije SIMD za izvajanje izračunov podatkov. To pomeni, da lahko uporabi eno samo navodilo za izvedbo iste operacije na več podatkovnih elementih hkrati. To Polarjem omogoča veliko hitrejše izvajanje operacij kot Pandas, ki uporabljajo enonitni pristop.
  • Leno ocenjevanje: Polars uporablja leno vrednotenje, da odloži izvajanje operacij, dokler jih ne potrebuje. To zmanjša količino časa, ki ga Polars porabi za nepotrebne operacije, in izboljša učinkovitost.

Razširite svoje veščine podatkovne znanosti

Obstaja veliko knjižnic Python, ki vam lahko pomagajo pri znanosti o podatkih. Pande in Polari so le majhen delček. Če želite izboljšati delovanje svojega programa, se morate seznaniti z več knjižnicami podatkovne znanosti. To vam bo pomagalo primerjati in izbrati knjižnico, ki najbolj ustreza vašemu primeru uporabe.