Rendi i Panda 3 volte più veloci con PyPolar
Scopri come velocizzare il flusso di lavoro di Pandas utilizzando la libreria PyPolars.
By Satyam Kumar, Appassionato e programmatore di machine learning
Foto di Tim Gouw on Unsplash
Pandas è uno dei pacchetti Python più importanti tra i data scientist per giocare con i dati. La libreria Panda viene utilizzata principalmente per l'esplorazione e la visualizzazione dei dati poiché include tantissime funzioni integrate. I Panda non riescono a gestire set di dati di grandi dimensioni poiché non scalano o distribuiscono il processo su tutti i core della CPU.
Per accelerare i calcoli, è possibile utilizzare tutti i core della CPU e accelerare il flusso di lavoro. Esistono varie librerie open source tra cui Dask, Vaex, Modin, Pandarallel, PyPolars, ecc. Che parallelizzano i calcoli su più core della CPU. In questo articolo discuteremo dell'implementazione e dell'utilizzo della libreria PyPolars e confronteremo le sue prestazioni con la libreria Pandas.
Cos'è PyPolars?
PyPolars è una libreria di frame dati Python open source simile a Pandas. PyPolars utilizza tutti i core disponibili della CPU e quindi esegue i calcoli più velocemente di Pandas. PyPolars ha un'API simile a quella di Pandas. È scritto in ruggine con involucri Python.
Idealmente, PyPolars viene utilizzato quando i dati sono troppo grandi per Panda e troppo piccoli per Spark
Come funziona PyPolars?
La libreria PyPolars ha due API, una è l'API Eager e l'altra è l'API Lazy. L'API Eager è molto simile a quella di Panda e i risultati vengono prodotti subito dopo il completamento dell'esecuzione in modo simile a Panda. L'API Lazy è molto simile a Spark, in cui una mappa o un piano viene formato dopo l'esecuzione di una query. Quindi l'esecuzione viene eseguita parallelamente su tutti i core della CPU.
(Immagine dell'autore), API PyPolars
PyPolars è fondamentalmente un collegamento Python alla libreria Polars. La parte migliore della libreria PyPolars è la somiglianza dell'API con Pandas, che semplifica il lavoro degli sviluppatori.
Installazione:
PyPolars può essere installato da PyPl utilizzando il seguente comando:
pip install py-polars
e importare la libreria utilizzando
import pypolars as pl
Vincoli temporali del benchmark:
Per le dimostrazioni, ho utilizzato un set di dati di grandi dimensioni (~6.4 Gb) con 25 milioni di istanze.
(Immagine dell'autore), numero temporale di riferimento per le operazioni di base di Panda e Py-Polar
Per i numeri temporali di riferimento sopra riportati per alcune operazioni di base che utilizzano Pandas e la libreria PyPolars, possiamo osservare che PyPolars è quasi da 2 a 3 volte più veloce di Pandas.
Ora sappiamo che PyPolars ha un'API molto simile a quella di Pandas, ma non copre ancora tutte le funzioni di Pandas. Ad esempio, non abbiamo .describe()
funzione in PyPolars, invece, possiamo usare df_pypolars.to_pandas().describe()
Uso:
(Codice per autore)
Conclusione:
In questo articolo abbiamo trattato una piccola introduzione alla libreria PyPolars, inclusa la sua implementazione, utilizzo e il confronto dei numeri temporali dei benchmark con Panda per alcune operazioni di base. Tieni presente che PyPolars funziona in modo molto simile a quello di Pandas e PyPolars è una libreria efficiente in termini di memoria poiché la memoria supportata da essa è immutabile.
Si può passare attraverso il documentazione per avere una conoscenza dettagliata della biblioteca. Esistono varie altre librerie open source che possono parallelizzare le operazioni di Panda e accelerare il processo. Leggi il articolo sotto citato per conoscere 4 di queste librerie:
4 librerie che possono parallelizzare l'ecosistema Panda esistente
Distribuisci il carico di lavoro Python mediante elaborazione parallela utilizzando questi framework
Riferimenti:
[1] Documentazione Polars e repository GitHub: https://github.com/ritchie46/polars
Grazie per aver letto
Bio: Satyam Kumar è un appassionato e programmatore di machine learning. Satyam scrive sulla scienza dei dati ed è uno dei migliori scrittori di intelligenza artificiale. Sta cercando una carriera stimolante con un'organizzazione che offra l'opportunità di sfruttare le sue capacità e capacità tecniche.
Originale. Ripubblicato con il permesso.
Correlato:
Le migliori storie degli ultimi 30 giorni
Fonte: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- Algoritmi
- Tutti
- tra
- api
- API
- in giro
- articolo
- auto
- Segno di riferimento
- MIGLIORE
- Libri
- Career
- carriere
- codice
- dati
- scienza dei dati
- scienziato di dati
- visualizzazione dati
- affare
- sviluppatori
- ingegnere
- eccetera
- esecuzione
- GitHub
- guida
- Come
- Tutorial
- HTTPS
- Immagine
- Compreso
- IT
- grandi
- IMPARARE
- apprendimento
- Biblioteca
- machine learning
- carta geografica
- medie
- Microsoft
- Microsoft Research
- milione
- modello
- numeri
- Operazioni
- Opportunità
- Altro
- performance
- Prodotto
- Python
- Lettura
- riparazioni
- Risultati
- Ruggine
- Scala
- Scienze
- Taglia
- abilità
- piccole
- velocità
- SQL
- inizia a
- Storie
- Consulenza
- tempo
- tonnellate
- top
- visualizzazione
- flusso di lavoro
- lavori
- scrittore
- X