Vai al contenuto principale

Pandas 2.0: novità e consigli top

Scopri pandas 2.0, l’ultimo aggiornamento della libreria essenziale per l’analisi dei dati, con novità come l’integrazione con PyArrow, i tipi di dati nullable e la risoluzione datetime non in nanosecondi per migliori prestazioni ed efficienza.
Aggiornato 29 set 2026  · 9 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

L’analisi dei dati si basa spesso in modo decisivo sulla libreria indispensabile pandas. Offre strutture dati e funzioni di manipolazione facili da usare che consentono di gestire in modo efficiente dataset tabellari. Con pandas puoi importare, pulire, trasformare e aggregare dati da varie fonti, tra cui file CSV, fogli Excel, database SQL e altro.

Se vuoi imparare a importare e pulire i dati, calcolare statistiche e creare visualizzazioni con pandas, dai un’occhiata al nostro corso Data Manipulation with pandas .

In questo tutorial esploreremo l’ultima versione della libreria pandas, passando in rassegna le novità con esempi pratici di utilizzo.

Il tanto atteso aggiornamento a pandas 2.0 è finalmente arrivato

Pandas 2.0 è stato rilasciato il 3 aprile 2023, coronando tre anni di sviluppo. Questa versione introduce diverse novità, come il supporto avanzato per le extension array, il supporto ai DataFrame basati su PyArrow e la risoluzione datetime non in nanosecondi. Include però anche deprecazioni rese effettive, con conseguenti modifiche alle API.

Come aggiornamento importante, la versione 2.0 applica tutte le deprecazioni della serie 1.X. L’ultima release 1.5.3 mostrava circa 150 avvisi. Se il tuo codice è privo di avvisi in 1.X, dovrebbe essere compatibile con la 2.0.

Le ultime novità di pandas 2.0

Vediamo cosa c’è di nuovo in pandas 2.0, includendo come usare alcune delle funzioni migliorate.

Prestazioni migliorate: operazioni più veloci e con meno memoria

PyArrow può essere considerata la caratteristica distintiva di questo rilascio.

Pandas è stato inizialmente sviluppato usando strutture dati di NumPy per la gestione della memoria, ma ora gli utenti possono scegliere di utilizzare PyArrow come formato di memoria sottostante.

PyArrow è una libreria Python (costruita sopra Arrow) che fornisce un’interfaccia per gestire grandi dataset usando le strutture di memoria di Arrow, oltre a strumenti per serializzazione, compressione e integrazione con altri sistemi di elaborazione dati come Apache Spark e Apache Parquet.

Arrow è un formato di dati colonnare open source e agnostico rispetto al linguaggio, pensato per rappresentare i dati in memoria. È scritto in C++, ma è indipendente dal linguaggio.

Un uso inefficiente della memoria causato dal back-end NumPy originale è un problema comune che spinge gli utenti a esplorare strumenti alternativi di elaborazione dati, come Spark, Dask, Ray, ecc. Riducendo il consumo di memoria tramite il back-end di PyArrow, Pandas può ora offrire un’esperienza più snella e permettere di lavorare in modo più efficiente.

Benchmark che confrontano le operazioni di mean e replace usando i back-end NumPy e PyArrow, affiancati a Polars 

Grafico Pandas

Polars è una libreria per la manipolazione dei dati in Rust per Python che offre una API DataFrame simile a pandas, ma con prestazioni e scalabilità migliorate per grandi dataset. Per saperne di più su Polars, visita il sito ufficiale.

Ecco lo snippet di codice per leggere un file CSV usando PyArrow come back-end:

pd.read_csv(my_file, dytpe_backend='pyarrow')

Se vuoi imparare tecniche efficienti in pandas per ottimizzare il tuo codice Python, scopri il corso Writing Efficient Code with pandas su DataCamp.

Ora sono possibili i tipi di dati nullable

Gestire i valori mancanti in pandas è stato in passato impegnativo a causa della mancanza di supporto di NumPy per i valori nulli in alcuni tipi di dati. Ad esempio, i dtype interi di NumPy non consentono valori nulli. Quando veniva introdotto un valore nullo in una colonna intera, la colonna veniva automaticamente convertita in un dtype float, cosa non ideale.

Pandas 1.0 ha introdotto i dtype nullable, ma richiedevano un certo sforzo per essere utilizzati. Fortunatamente, con l’ultima versione, quando leggi i dati in un DataFrame puoi specificare l’uso dei dtype nullable, rendendo il processo molto più semplice.

pd.read_csv(my_file, use_nullable_dtypes=True)

Miglioramento delle prestazioni con Copy-on-Write

Copy-on-Write è una tecnica di ottimizzazione della memoria usata da Pandas per migliorare le prestazioni e ridurre al minimo l’uso di memoria durante la gestione di grandi dataset. Avvicina Pandas a Spark e al modo in cui le operazioni lazy vengono eseguite in Spark. Le operazioni lazy sono operazioni che non vengono eseguite immediatamente ma attendono che venga invocata un’azione per avviare il calcolo. Sono dette "lazy" perché rimandano l’esecuzione finché non è necessario calcolare e restituire i risultati finali.

Il concetto di base consiste nel generare un riferimento ai dati originali quando si crea una copia di un oggetto pandas, come un DataFrame o una Series, e creare una nuova copia solo quando vengono apportate modifiche.

Questo approccio consente a più copie degli stessi dati di accedere alla stessa memoria finché non vengono introdotte modifiche, eliminando la necessità di copie ridondanti e riducendo significativamente l’uso di memoria, con conseguente aumento delle prestazioni.

Tipi numerici NumPy supportati da Index

In pandas 2.0, la funzionalità Index è stata ampliata per includere i dtype numerici di NumPy, come int8, int16, int32, uint8, uint16, uint32, uint64, float32 e float64, mentre in precedenza erano supportati solo int64, uint64 e float64.

Questo aggiornamento consente di creare indici con dimensioni di bit inferiori, ad esempio indici a 32 bit, in operazioni che in precedenza producevano indici a 64 bit.

Tutti gli indici numerici sono ora rappresentati come Index con un dtype associato.

Installare gli extra di pip

Specificando gli extra durante l’installazione di pandas con pip, puoi installare set aggiuntivi di dipendenze opzionali. Ad esempio:

pip install "pandas[performance, aws]>=2.0.0"

Questo installerà le dipendenze opzionali performance e aws. La guida all’installazione di pandas fornisce l’elenco degli extra disponibili. Include: [all, performance, computation, fss, aws, gcp, excel, parquet, feather, hdf5, spss, postgresql, mysql, sql-other, html, xml, plot, output_formatting, clipboard, compression e test] Ricorda di aggiungere le virgolette (“).

Risoluzione non in nanosecondi nei Timestamp

Per molto tempo pandas ha avuto il limite di rappresentare i timestamp solo con risoluzione in nanosecondi. Ciò significava che non era possibile rappresentare date precedenti al 21 settembre 1677 o successive all’11 aprile 2264. Questa limitazione creava difficoltà ai ricercatori che analizzavano serie temporali su periodi molto estesi.

Con il rilascio di pandas 2.0 è stato aggiunto il supporto per altre risoluzioni come secondo, millisecondo e microsecondo. Questo miglioramento consente intervalli temporali fino a +/- 2,9e11 anni, coprendo la maggior parte dei casi d’uso.

Formato di parsing coerente per i datetime

In passato, la funzione to_datetime() in pandas deduceva il formato di ciascun elemento in modo indipendente, il che poteva essere problematico quando gli utenti si aspettavano un formato coerente ma la funzione cambiava formato tra gli elementi.

Sebbene questo approccio fosse adatto a casi con formati di data misti, causava problemi a molti utenti.

In pandas 2.0, il processo di parsing è stato modificato per usare un formato coerente determinato dal primo valore non-NA. Gli utenti possono comunque specificare un formato, e in tal caso verrà utilizzato quello.

Comportamento precedente:

ser = pd.Series(['13-01-2000', '12-01-2000'])
pd.to_datetime(ser)
Out[2]:
0   2000-01-13
1   2000-12-01
dtype: datetime64[ns]

Nuovo comportamento:

ser = pd.Series(['13-01-2000', '12-01-2000'])

pd.to_datetime(ser)
Out[43]: 
0   2000-01-13
1   2000-01-12
dtype: datetime64[ns]

Esempi riprodotti dalla documentazione ufficiale.

Compatibilità e migrazione

Le modifiche alle API non retrocompatibili sono modifiche all’API di una libreria che possono interrompere codice o integrazioni esistenti. Possono includere la rimozione o la rinomina di funzioni, classi o parametri, o la modifica del loro comportamento atteso. Consulta l’elenco di tutte le breaking change in pandas 2.0 nella documentazione sulle API non retrocompatibili.

Per aggiornare la libreria pandas, esegui semplicemente questo comando nel terminale o nel notebook:

pip install -U pandas

Community e supporto

Consulta le note di rilascio complete di pandas 2.0

Puoi anche usare la nostra cheat sheet di pandas per data science come guida rapida ai concetti di base della libreria di analisi dati in Python, con esempi di codice.

Cheat sheet Python per Data Science

Cheatsheet di DataCamp. Fonte

Un ampio gruppo di contributor e un team più ristretto di maintainer hanno sviluppato collettivamente pandas, un progetto open source guidato dalla community. La leadership di pandas è impegnata a creare una community positiva, inclusiva e aperta. Se vuoi partecipare, consulta la guida per i contributor di pandas.

Conclusione

Pandas 2.0 rappresenta un aggiornamento significativo della popolare libreria per l’analisi dei dati, con novità come prestazioni migliorate grazie a PyArrow, tipi di dati nullable, ottimizzazione copy-on-write, supporto ampliato per i tipi numerici di NumPy negli indici e risoluzione datetime non in nanosecondi.

Con questo aggiornamento, pandas è ora in grado di gestire dataset più grandi con un uso della memoria più efficiente, offrendo un’esperienza più fluida agli utenti.

Per sfruttare queste nuove funzionalità, puoi semplicemente aggiornare la libreria pandas con il comando pip install -U pandas. La community di pandas continua a fornire supporto e risorse, inclusi corsi su DataCamp, per aiutarti a migliorare le tue competenze di analisi dei dati.

Ecco alcuni ottimi tutorial che potrebbero esserti utili nel tuo percorso di apprendimento della data analysis.

Argomenti
Python
Analisi dei dati

I migliori corsi su pandas

{count, plural, one {Corso} other {Corsi}}

Manipolazione dei dati con pandas

{hours} ore
566.7K
Impara a importare e pulire dati, calcolare statistiche e creare visualizzazioni con pandas.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

{count, plural, one {blog} other {blogs}}

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

{count, plural, one {blog} other {blogs}}

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

{count, plural, one {blog} other {blogs}}

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Mostra AltroMostra Altro