Kas on õige väita, et uus Polarsi raamatukogu ületab mitmes võrdlusaluses Pandasid, või on Pandade raamatukogu endiselt domineeriv valik?
Andmeanalüüsi ülesandeid täites olete tõenäoliselt kokku puutunud Pandadega. See on pikka aega olnud andmeanalüüsis kõige domineerivam raamatukogu. Teisest küljest on Polars suhteliselt uus raamatukogu, millel on suur jõudlus ja mälu tõhusus. Aga kumb on parem?
Siin näete Pandade ja Polarite jõudluse võrdlust paljude tavaliste andmetega manipuleerimise ülesannete lõikes.
Toimivuse mõõtmine: mõõdikud ja võrdlusandmete kogum
See võrdlus võtab arvesse Pandade ja Polarid raamatukogud, mille kaudu saab musta reede müügiandmestikku manipuleerida Kaggle. See andmestik sisaldab 550 068 rida andmeid. See sisaldab teavet klientide demograafilise teabe, ostuajaloo ja toote üksikasjade kohta.
Õiglaste tulemuslikkuse mõõtmise tagamiseks kasutatakse võrdluses iga ülesande standardse jõudlusmõõdikuna täitmisaega. Iga võrdlusülesande koodi käitamise platvormiks on Google Colab.
Täielik lähtekood, mis võrdleb Pandase ja Polarsi teeke, on saadaval a GitHubi hoidla.
Andmete lugemine CSV-failist
See ülesanne võrdleb aega, mis kulub igal teegil andmete lugemiseks musta reede müügi andmestikust. Andmekogum on sees CSV-vormingus. Pandad ja Polarid pakuvad selle ülesande jaoks sarnaseid funktsioone.
Pandadel kulub musta reede müügi andmestiku andmete lugemiseks kaks korda rohkem aega, kui Polaril kulub.
Veergude valimine
See ülesanne mõõdab aega, mis kulub igal teegil andmestikust veergude valimiseks. See hõlmab valikut Kasutaja ID ja ostma veerud.
Võrreldes Pandadega kulub Polaritel andmekogumist veergude valimiseks oluliselt vähem aega.
Ridade filtreerimine
See ülesanne võrdleb iga teegi jõudlust filtreerimisridades, kus Sugu veerg on andmestikust F.
Polaritel kulub ridade välja filtreerimiseks Pandadega võrreldes väga lühike aeg.
Andmete rühmitamine ja koondamine
See ülesanne hõlmab andmete rühmitamist ühe või mitme veeru järgi. Seejärel täites rühmades mõningaid liitmisfunktsioone. See mõõdab aega, mis kulub igal raamatukogul andmete rühmitamiseks Sugu veergu ja arvutage iga rühma keskmine ostusumma.
Jällegi edestavad Polarid Pandasid. Kuid marginaal ei ole nii suur kui ridade filtreerimisel.
Funktsioonide rakendamine andmetele
See ülesanne hõlmab funktsiooni rakendamist ühele või mitmele veerule. See mõõdab aega, mis kulub igal raamatukogul selle korrutamiseks ostma veergu 2 kaupa.
Polarsi riba on vaevu näha. Polarid edestavad taas Pandasid.
Andmete ühendamine
See ülesanne hõlmab kahe või enama DataFrame'i ühendamine ühe või mitme ühise veeru olemasolu alusel. See mõõdab aega, mis kulub iga raamatukogu ühendamiseks Kasutaja ID ja ostma veerud kahest eraldi DataFrame'ist.
Mõlemal raamatukogul kulub selle ülesande täitmiseks veidi aega. Kuid Polarsil kulub andmete liitmiseks peaaegu pool ajast, mis Pandadel kulub.
Miks on Polars võimeline pandasid edestama?
Kõigis ülaltoodud andmetega manipuleerimise ülesannetes edestavad Polarid Pandasid. On mitmeid põhjuseid, miks Polars võib täitmise ajaga Pandasid edestada.
- Mälu optimeerimine: Polars kasutab Rust, süsteemi programmeerimiskeelt, mis optimeerib mälukasutust. See võimaldab Polarsil minimeerida mälu eraldamisele ja eraldamisele kuluvat aega. See muudab täitmisaja kiiremaks.
- SIMD (Single Instruction Multiple Data) toimingud: Polars kasutab andmete arvutamiseks SIMD-operatsioone. See tähendab, et see võib kasutada ühte käsku, et teha sama toiming samaaegselt mitme andmeelemendiga. See võimaldab Polaridel teha operatsioone palju kiiremini kui Pandadel, mis kasutavad ühe keermega lähenemist.
- Laisk hindamine: Polars kasutab laiska hindamist, et viivitada toimingute täitmist seni, kuni see neid vajab. See vähendab aega, mille Polars kulutab tarbetutele toimingutele, ja parandab jõudlust.
Laiendage oma andmeteaduse oskusi
Seal on palju Pythoni teeke, mis võivad teid andmeteaduses aidata. Pandad ja polaarlased on vaid väike osa. Programmi jõudluse parandamiseks peaksite end kurssi viima rohkemate andmeteaduslike raamatukogudega. See aitab teil võrrelda ja valida, milline raamatukogu teie kasutusjuhtumile kõige paremini sobib.