Twórz Pandy 3 razy szybciej dzięki PyPolars
Dowiedz się, jak przyspieszyć przepływ pracy w Pandach, korzystając z biblioteki PyPolars.
By Satyama Kumara, Entuzjasta uczenia maszynowego i programista
Photo by Tim Guw on Unsplash
Pandas to jeden z najważniejszych pakietów Pythona wśród analityków danych do zabawy z danymi. Biblioteka Pandas jest używana głównie do eksploracji danych i wizualizacji, ponieważ zawiera mnóstwo wbudowanych funkcji. Pandy nie radzą sobie z dużymi zbiorami danych, ponieważ nie skalują się ani nie rozdzielają swoich procesów na wszystkie rdzenie procesora.
Aby przyspieszyć obliczenia, można wykorzystać wszystkie rdzenie procesora i przyspieszyć przepływ pracy. Istnieją różne biblioteki typu open source, w tym Dask, Vaex, Modin, Pandarallel, PyPolars itp., które zrównoleglają obliczenia na wielu rdzeniach procesora. W tym artykule omówimy implementację i wykorzystanie biblioteki PyPolars oraz porównamy jej wydajność z biblioteką Pandas.
Co to jest PyPolars?
PyPolars to biblioteka ramek danych Pythona o otwartym kodzie źródłowym, podobna do Pandas. PyPolars wykorzystuje wszystkie dostępne rdzenie procesora i dlatego wykonuje obliczenia szybciej niż Pandy. PyPolars ma API podobne do Pand. Jest napisany w rdzy z opakowaniami Pythona.
W idealnym przypadku PyPolars jest używany, gdy dane są za duże dla Pand i za małe dla Sparka
Jak działa PyPolars?
Biblioteka PyPolars ma dwa interfejsy API, jeden to Eager API, a drugi to Lazy API. Interfejs API Eager jest bardzo podobny do interfejsu Pandas, a wyniki są generowane zaraz po zakończeniu wykonywania, podobnie jak w przypadku Pand. Lazy API jest bardzo podobne do Sparka, gdzie po wykonaniu zapytania tworzona jest mapa lub plan. Następnie wykonanie jest wykonywane równolegle na wszystkich rdzeniach procesora.
(Zdjęcie autora), interfejsy API PyPolars
PyPolars jest w zasadzie powiązaniem Pythona z biblioteką Polars. Najlepszą częścią biblioteki PyPolars jest podobieństwo API do Pand, co ułatwia programistom.
Instalacja:
PyPolars można zainstalować z PyPl za pomocą następującego polecenia:
pip install py-polars
i zaimportuj bibliotekę za pomocą
import pypolars as pl
Ograniczenia czasowe testu porównawczego:
Do demonstracji użyłem zbioru danych o dużym rozmiarze (~ 6.4 Gb) zawierającego 25 milionów instancji.
(Zdjęcie autora), czas porównawczy dla podstawowych operacji Pand i Py-Polars
W przypadku powyższych porównawczych wartości czasu dla niektórych podstawowych operacji przy użyciu biblioteki Pandas i PyPolars możemy zaobserwować, że PyPolars jest prawie 2x do 3x szybszy niż Pandas.
Teraz wiemy, że PyPolars ma API bardzo podobne do API Pand, ale nadal nie obejmuje wszystkich funkcji Pand. Na przykład nie mamy .describe()
zamiast tego możemy użyć funkcji w PyPolars df_pypolars.to_pandas().describe()
Stosowanie:
(Kod według autora)
Wnioski:
W tym artykule omówiliśmy małe wprowadzenie do biblioteki PyPolars, w tym jej implementację, użycie i porównanie jej wzorcowych wartości czasu z Pandami w przypadku niektórych podstawowych operacji. Należy zauważyć, że PyPolars działa bardzo podobnie do Pand, a PyPolars jest biblioteką oszczędzającą pamięć, ponieważ pamięć przez nią obsługiwana jest niezmienna.
Można przejść przez dokumentacja aby uzyskać szczegółowe informacje o bibliotece. Istnieje wiele innych bibliotek typu open source, które mogą zrównoleglić operacje Pand i przyspieszyć proces. Przeczytać poniższy artykuł poznać 4 takie biblioteki:
4 biblioteki, które mogą zrównoleglić istniejący ekosystem Pand
Rozłóż obciążenie języka Python poprzez przetwarzanie równoległe przy użyciu tych platform
Referencje:
[1] Dokumentacja Polars i repozytorium GitHub: https://github.com/ritchie46/polars
Dziękuję za przeczytanie
Bio: Satyama Kumara jest entuzjastą uczenia maszynowego i programistą. Satyam pisze, na temat nauki o danych i jest czołowym pisarzem w dziedzinie sztucznej inteligencji. Poszukuje pełnej wyzwań kariery w organizacji, która zapewni mu możliwość wykorzystania jego umiejętności technicznych i zdolności.
Oryginalny. Przesłane za zgodą.
Związane z:
Najważniejsze artykuły z ostatnich 30 dni
Źródło: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- Algorytmy
- Wszystkie kategorie
- wśród
- api
- Pszczoła
- na około
- artykuł
- samochód
- Benchmark
- BEST
- Książki
- Kariera
- kariery
- kod
- dane
- nauka danych
- naukowiec danych
- Wizualizacja danych
- sprawa
- deweloperzy
- inżynier
- itp
- egzekucja
- GitHub
- poprowadzi
- W jaki sposób
- How To
- HTTPS
- obraz
- Włącznie z
- IT
- duży
- UCZYĆ SIĘ
- nauka
- Biblioteka
- uczenie maszynowe
- mapa
- średni
- Microsoft
- Microsoft Research
- milion
- model
- z naszej
- operacje
- Okazja
- Inne
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- Wytworzony
- Python
- Czytający
- Badania naukowe
- Efekt
- Rdza
- Skala
- nauka
- Rozmiar
- umiejętności
- mały
- prędkość
- SQL
- początek
- historie
- Techniczny
- czas
- Ton
- Top
- wyobrażanie sobie
- workflow
- działa
- pisarz
- X