Je správne tvrdiť, že nová knižnica Polars prekonáva Pandy vo viacerých benchmarkoch, alebo je knižnica Pandas stále dominantnou voľbou?

Pri vykonávaní úloh analýzy údajov je pravdepodobné, že ste sa stretli s Pandami. Je to dlhodobo najprevládajúca knižnica v analýze údajov. Na druhej strane Polar je relatívne nová knižnica, ktorá sa môže pochváliť vysokým výkonom a efektívnosťou pamäte. Ale, ktorý z nich je lepší?

Tu uvidíte porovnanie výkonu medzi Pandas a Polarmi v rámci celého radu bežných úloh manipulácie s údajmi.

Meranie výkonu: metriky a porovnávacie údaje

Toto porovnanie bude brať do úvahy schopnosti Pandy a Polári knižnice na manipuláciu s dátovým súborom Black Friday Sale Kaggle. Táto množina údajov obsahuje 550 068 riadkov údajov. Zahŕňa informácie o demografických údajoch zákazníkov, histórii nákupov a podrobnostiach o produkte.

Aby sa zabezpečilo spravodlivé meranie výkonu, porovnanie použije čas vykonania ako štandardnú metriku výkonu pri každej úlohe. Platformou na spustenie kódu pre každú porovnávaciu úlohu bude Google Colab.

Úplný zdrojový kód, ktorý porovnáva knižnice Pandas a Polars, je dostupný v a úložisko GitHub.

Čítanie údajov zo súboru CSV

Táto úloha porovnáva čas, ktorý potrebuje každá knižnica na načítanie údajov z dátovej sady Black Friday Sale. Súbor údajov je in vo formáte CSV. Pandy a Polary ponúkajú podobné funkcie pre túto úlohu.

Pandám trvá čítanie údajov v súbore údajov o predaji Čierneho piatku dvakrát toľko, koľko trvá spoločnosti Polar.

Výber stĺpcov

Táto úloha meria čas, ktorý potrebuje každá knižnica na výber stĺpcov z množiny údajov. Zahŕňa výber ID používateľa a Nákup stĺpci.

Polárom trvá výber stĺpcov z množiny údajov podstatne menej času v porovnaní s Pandami.

Filtrovanie riadkov

Táto úloha porovnáva výkon každej knižnice vo filtrovaní riadkov, kde je rod stĺpec je F z množiny údajov.

Polárkam trvá odfiltrovanie riadkov veľmi krátko v porovnaní s Pandami.

Zoskupovanie a agregovanie údajov

Táto úloha zahŕňa zoskupenie údajov podľa jedného alebo viacerých stĺpcov. Potom vykonaním niektorých agregačných funkcií na skupinách. Meria čas, ktorý potrebuje každá knižnica na zoskupenie údajov podľa rod a vypočítajte priemernú sumu nákupu pre každú skupinu.

Polárky opäť prekonávajú Pandy. Rozpätie však nie je také veľké ako pri filtrovaní riadkov.

Aplikácia funkcií na údaje

Táto úloha zahŕňa aplikáciu funkcie na jeden alebo viacero stĺpcov. Meria čas, ktorý potrebuje každá knižnica na vynásobenie Nákup stĺpec po 2.

Sotva vidíte Polar bar. Polári opäť prekonávajú Pandy.

Zlučovanie údajov

Táto úloha zahŕňa zlúčenie dvoch alebo viacerých dátových rámov na základe existencie jedného alebo viacerých spoločných stĺpcov. Meria čas, ktorý potrebuje každá knižnica na zlúčenie ID používateľa a Nákup stĺpcov z dvoch samostatných DataFrame.

Dokončenie tejto úlohy trvá obom knižniciam nejaký čas. Polarom však trvá takmer polovicu času, ktorý Pandas potrebuje na zlúčenie údajov.

Prečo sú Polary schopné prekonať pandy?

Vo všetkých vyššie uvedených úlohách manipulácie s údajmi Polary prekonávajú Pandy. Existuje niekoľko dôvodov, prečo Polary môžu prekonať Pandy v čase realizácie.

  • Optimalizácia pamäte: Polar používa Rust, systémový programovací jazyk, ktorý optimalizuje využitie pamäte. Umožňuje spoločnosti Polar minimalizovať čas, ktorý strávi prideľovaním a udeľovaním pamäte. Vďaka tomu je čas vykonania rýchlejší.
  • Operácie SIMD (Single Instruction Multiple Data).: Polar používa operácie SIMD na vykonávanie výpočtov s údajmi. To znamená, že môže použiť jednu inštrukciu na vykonanie rovnakej operácie na viacerých dátových prvkoch súčasne. To umožňuje Polarom vykonávať operácie oveľa rýchlejšie ako Pandas, ktoré používajú jednovláknový prístup.
  • Lenivé hodnotenie: Polar používa lenivé hodnotenie na oddialenie vykonania operácií, kým ich nebude potrebovať. To znižuje množstvo času, ktorý Polar strávi zbytočnými operáciami a zlepšuje výkon.

Rozšírte svoje zručnosti v oblasti dátovej vedy

Existuje veľa knižníc Pythonu, ktoré vám môžu pomôcť vo vede o údajoch. Pandy a polári sú len malým zlomkom. Ak chcete zlepšiť výkon svojho programu, mali by ste sa zoznámiť s viacerými knižnicami pre vedu o údajoch. To vám pomôže porovnať a vybrať knižnicu, ktorá najlepšie vyhovuje vášmu prípadu použitia.