Je správné tvrdit, že nová knihovna Polarů překonává Pandy v několika benchmarcích, nebo je knihovna Pandas stále dominantní volbou?
Při provádění úloh analýzy dat je pravděpodobné, že jste narazili na Pandy. Dlouhou dobu je nejrozšířenější knihovnou v analýze dat. Na druhou stranu Polar je relativně nová knihovna, která se může pochlubit vysokým výkonem a efektivitou paměti. Ale, který z nich je lepší?
Zde uvidíte srovnání výkonu Pandas a Polarů v celé řadě běžných úloh manipulace s daty.
Měření výkonu: metriky a srovnávací datová sada
Toto srovnání bude brát v úvahu schopnosti pand a Polárky knihovny, ze kterých lze manipulovat s datovou sadou Black Friday Sale Kaggle. Tato datová sada obsahuje 550 068 řádků dat. Obsahuje informace o demografii zákazníků, historii nákupů a podrobnosti o produktu.
Aby bylo zajištěno spravedlivé měření výkonu, bude srovnání používat dobu provádění jako standardní metriku výkonu pro každý úkol. Platformou pro spuštění kódu pro každou úlohu porovnání bude Google Colab.
Úplný zdrojový kód, který porovnává knihovny Pandas a Polars, je dostupný v a úložiště GitHub.
Čtení dat ze souboru CSV
Tato úloha porovnává čas, který každé knihovně trvá načtení dat z datové sady Černý pátek. Datová sada je in CSV formát. Pandy a Polary nabízejí podobné funkce pro tento úkol.
Pandám trvá načtení dat v datové sadě Black Friday Sale dvakrát déle než Polarům.
Výběr sloupců
Tato úloha měří čas, který každé knihovně trvá vybrat sloupce z datové sady. Zahrnuje výběr Uživatelské ID a Nákup sloupců.
Polarům trvá výběr sloupců z datové sady výrazně méně času než Pandas.
Filtrování řádků
Tato úloha porovnává výkon každé knihovny ve filtrování řádků, kde je Rod sloupec je F z datové sady.
Polárkám trvá odfiltrování řádků ve srovnání s Pandami velmi krátkou dobu.
Seskupování a agregace dat
Tento úkol zahrnuje seskupení dat podle jednoho nebo více sloupců. Poté proveďte některé agregační funkce na skupinách. Měří čas, který každé knihovně trvá seskupit data podle Rod a vypočítejte průměrnou částku nákupu pro každou skupinu.
Polary opět překonávají Pandy. Ale marže není tak velká jako u filtrování řádků.
Aplikace funkcí na data
Tento úkol zahrnuje aplikaci funkce na jeden nebo více sloupců. Měří čas, který každé knihovně potřebuje k vynásobení Nákup sloupec o 2.
Polar bar sotva vidíte. Polary opět překonávají Pandy.
Slučování dat
Tento úkol zahrnuje sloučení dvou nebo více datových rámců na základě toho, že existuje jeden nebo více společných sloupců. Měří čas, který každé knihovně trvá sloučení Uživatelské ID a Nákup sloupce ze dvou samostatných DataFrame.
Dokončení tohoto úkolu oběma knihovnám nějakou dobu trvá. Ale Polarům trvá téměř polovinu času, než Pandas sloučí data.
Proč jsou Polary schopny překonat pandy?
Ve všech výše uvedených úlohách manipulace s daty Polary překonávají Pandy. Existuje několik důvodů, proč mohou Polary překonat Pandy v době provádění.
- Optimalizace paměti: Polar používá Rust, systémový programovací jazyk, který optimalizuje využití paměti. Umožňuje společnosti Polar minimalizovat čas, který stráví alokací paměti a dealokací. Díky tomu je doba provádění rychlejší.
- Operace SIMD (Single Instruction Multiple Data).: Polar používá SIMD operace k provádění výpočtů s daty. To znamená, že může použít jedinou instrukci k provedení stejné operace na více datových prvcích současně. To umožňuje Polarům provádět operace mnohem rychleji než Pandas, které používají jednovláknový přístup.
- Líné hodnocení: Polar používá líné vyhodnocování ke zpoždění provádění operací, dokud je nebude potřebovat. To snižuje množství času, který Polar stráví zbytečnými operacemi, a zlepšuje výkon.
Rozšiřte své dovednosti v oblasti datové vědy
Existuje mnoho knihoven Pythonu, které vám mohou pomoci ve vědě o datech. Pandy a polárky jsou jen malým zlomkem. Chcete-li zlepšit výkon svého programu, měli byste se seznámit s více knihovnami datové vědy. To vám pomůže porovnat a vybrat knihovnu, která nejlépe vyhovuje vašemu případu použití.