Panda contro Polari: è ora di cambiare?  |  di Dario RadeÄ ić |  Aprile 2024

 | Intelligenza-Artificiale

Desideri velocizzare le tue pipeline di elaborazione dati fino a 10 volte? Forse è giunto il momento di dire addio ai panda.

7 minuti di lettura

14 ore fa

fotografato da Hans-Jürgen Mager SU Unsplash

In un mondo in cui il tempo di elaborazione viene fatturato al secondo, è logico minimizzarlo il più possibile. E poi qualche.

Il vasto ecosistema di elaborazione dati di Python è ottimo per i principianti, ma è difficile ampliarlo man mano che crescono le dimensioni del set di dati. Elaborazione parallela, ottimizzazione delle queryE valutazione pigra sono tutte cose inaudite in Panda, ma sono concetti su cui devi riflettere se vuoi utilizzare Python in ambienti di produzione su larga scala.

accedere polare. È una libreria Python scritta da zero pensando alle prestazioni. Polars ha un motore di query multi-thread scritto in Rust, il che significa che dovresti aspettarti di vedere tempi di elaborazione dei dati incredibilmente rapidi, anche 30–50 volte più veloce rispetto ai panda.

Oggi vedrai come Polars si confronta con Pandas in una serie di 4 benchmark eseguiti su un file CSV con 11 milioni di righe.

Ma prima, esaminiamo i motivi per cui dovresti considerare Polars come alternativa a Pandas.

Se Python è stato il primo linguaggio di programmazione che hai imparato, immagino che il tuo primo framework di elaborazione dati sia stato Panda. Niente di sbagliato in questo, soprattutto a livello principiante.

Ma non appena i set di dati diventano grandi, ti imbatterai in limitazioni in termini di prestazioni.

Il più grande è il a thread singolo natura dei panda. I set di dati diventano sempre più grandi di giorno in giorno, quindi sfruttare un solo core della CPU non sembra ragionevole. L'elaborazione parallela e/o distribuita è tua amica.

Aggiungendo la beffa al danno, Pandas te lo richiede memorizzare l'intero frame di dati in memoriail che non è efficiente nella migliore delle ipotesi e assolutamente impossibile quando si lavora con set di dati più grandi della memoria.

Infine, Pandas non offre ottimizzazione dell'ordine delle operazioni. Ciò significa che le operazioni di trattamento dei dati verranno applicate nell'ordine in cui le hai dichiarate, il che raramente è ottimale. Non lo sai meglio e va bene.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *