Panda 2.0 è qui

Feb 27 2023
Python Pandas 2.0 è appena stato rilasciato ed ecco cosa hanno aggiunto e migliorato (questo cambierà molte cose) Se lavori nel settore dei dati (ingegneria dei dati/scienza/ml) potresti già sapere di cosa parla Pandas in particolare dei dati Engineering, Pandas riceveva molto odio perché non offre prestazioni ottimali mentre si lavora con un set di dati di grandi dimensioni.

Python Pandas 2.0 è appena stato rilasciato ed ecco cosa hanno aggiunto e migliorato (questo cambierà molte cose)

Foto di Pascal Müller su Unsplash

Se lavori nel settore dei dati (ingegneria dei dati/scienza/ml) potresti già sapere cos'è Pandas

Parlando in particolare di ingegneria dei dati, Pandas riceveva molto odio perché non offre prestazioni ottimali mentre si lavora con un set di dati di grandi dimensioni.

Pandas 2.0 è un passo compiuto in questa direzione, ecco le 3 caratteristiche principali

Operazioni più veloci ed efficienti in termini di memoria

Hanno aggiunto il supporto per pyarrow nel backend.

Il backend pyarrow è una nuova funzionalità di Pandas 2.0 che consente agli utenti di utilizzare Apache Arrow come formato di archiviazione dati alternativo per DataFrame e serie di Pandas.

Ciò significa che quando leggi o scrivi file Parquet in pandas 2.0, utilizzerà pyarrow per impostazione predefinita per gestire i dati, risultando in operazioni più veloci ed efficienti in termini di memoria.

Cos'è un pyarrow?
Pyarrow è una libreria che fornisce un formato di memoria colonnare, che è un modo di organizzare i dati che ne facilita la lettura e l'elaborazione in parallelo.

In sintesi, l'utilizzo del backend pyarrow in pandas 2.0 può comportare operazioni di dati più veloci ed efficienti in termini di memoria, soprattutto quando si lavora con set di dati di grandi dimensioni.

PyArrow sostenuto

Ottimizzazione copia su scrittura

Simile a Spark e al modo in cui esegue il codice

È una tecnica di ottimizzazione della memoria utilizzata nei panda per migliorare le prestazioni e ridurre l'utilizzo della memoria quando si lavora con set di dati di grandi dimensioni.

L'idea è che quando crei una copia di un oggetto panda, come un DataFrame o una serie, invece di creare immediatamente una nuova copia dei dati, i panda creeranno un riferimento ai dati originali e rimanderanno la creazione di una nuova copia fino a quando non modificherai il dati in qualche modo.

Ciò significa che se si dispone di più copie degli stessi dati, tutte possono fare riferimento alla stessa memoria fino a quando non si apporta una modifica a una di esse. Ciò può ridurre significativamente l'utilizzo della memoria e migliorare le prestazioni perché non è necessario eseguire copie non necessarie dei dati.

Nel complesso, Copy-on-Write è una potente tecnica di ottimizzazione che può aiutarti a lavorare con set di dati di grandi dimensioni in modo più efficiente e con meno memoria.

Copia su scrittura

L'indice ora può contenere tipi numerici NumPy

Riepilogo rapido: indici migliori, accesso più rapido e calcoli

Dettagli:
Pandas 2.0 consente a Index di contenere qualsiasi dtype numerico NumPy, inclusi int8, int16, int32, int64, uint8, uint16, uint32, uint64, float32 e float64.

In precedenza erano supportati solo i tipi int64, uint64 e float64.

Di conseguenza, le operazioni che in precedenza creavano indici a 64 bit ora possono creare indici con dimensioni di bit inferiori, ad esempio indici a 32 bit.

Indice NumPy

TL; DR
1. Aggiunto pyarrow in backed con conseguente operazioni più veloci ed efficienti in termini di memoria.
2. Ottimizzazione Copy-on-Write: simile a Spark e al modo in cui esegue il
codice

Aggiungerò tutorial su queste funzionalità anche nel mio corso Python for Data Engineering.

Se vuoi imparare tutto su Python per l'ingegneria dei dati, controlla

https://learn.datawithdarshil.com/courses/Python-for-Data-Engineering