Pandas: definizione e ruolo nell’analisi dati con Python
Pandas è una libreria software open source scritta per il linguaggio Python che fornisce le strutture dati e gli strumenti per pulire, trasformare e analizzare dataset tabellari, usata nei flussi di lavoro di machine learning e di analisi dati aziendali.
Pandas: cosa fare da qui in poi
- Cos’è: una libreria Python open source per manipolare e analizzare dati strutturati, distribuita con licenza BSD 3-clause.
- Strutture dati: si basa su due oggetti, Series (array monodimensionale) e DataFrame (tabella bidimensionale).
- Origine: creata da Wes McKinney nel 2008 in AQR Capital Management, il nome deriva dal termine econometrico “panel data”.
- Installazione: si aggiunge a un progetto Python con
pip install pandaso tramite conda. - Ecosistema: usa NumPy per i calcoli numerici e si integra con scikit-learn e Matplotlib quando serve costruire modelli di machine learning o produrre grafici.
- Versione attuale: pandas 3.1.1, aggiornata a novembre 2026, richiede Python 3.11 o superiore.
Cos’è pandas e a cosa serve
Pandas risolve un problema molto concreto: prendere dati sparsi in file CSV, fogli Excel o tabelle di un database e metterli in una forma su cui si può ragionare con il codice. La libreria nasce per questo, e il grosso del suo codice gira attorno a due compiti: caricare dati da formati diversi e trasformarli senza perdere la tracciabilità delle righe e delle colonne originali.
Chi gestisce un e-commerce o un sito di servizi incontra pandas quasi sempre indirettamente: è lo strato che sta dietro ai report che incrociano ordini, clic da Search Console e dati di conversione prima che qualcuno li guardi in un grafico. Non serve scrivere codice Python per beneficiarne: basta che chi prepara quei report lo usi.
La libreria è open source, distribuita con licenza BSD 3-clause: si può usare, modificare e integrare in un prodotto commerciale senza pagare nulla e senza dover rendere pubblico il codice che la usa. È costruita sopra NumPy, la libreria Python per il calcolo su array numerici, da cui eredita la velocità di esecuzione sulle operazioni ripetute su grandi quantità di righe.
Origine del nome e storia del progetto
Il nome pandas non ha niente a che fare con l’animale: deriva da “panel data”, il termine che in econometria indica un insieme di osservazioni ripetute nel tempo sugli stessi soggetti (per esempio il fatturato mensile di un gruppo di aziende per più anni). È il tipo di dato con cui lavorava Wes McKinney quando ha iniziato a scrivere la libreria nel 2008, mentre era impiegato in AQR Capital Management, un fondo di investimento quantitativo.
McKinney ha convinto l’azienda a rendere pubblico il codice prima di lasciarla, e nel 2012 un altro dipendente di AQR, Chang She, si è unito al progetto come secondo maggiore contributore. Da lì pandas è diventato un progetto a sviluppo comunitario, con un gruppo di maintainer che non dipende più da una singola azienda.

Le due strutture dati di pandas
Tutto quello che pandas fa passa per due oggetti: la Series e il DataFrame. La Series è un array monodimensionale con un’etichetta per ogni valore, qualcosa a metà tra una lista e un dizionario. Il DataFrame è una tabella con righe e colonne etichettate, l’equivalente di un foglio Excel o di una tabella SQL dentro Python.
Un DataFrame è, di fatto, un insieme di Series allineate sullo stesso indice: selezionare una colonna da un DataFrame restituisce proprio una Series. Questa relazione è il motivo per cui capire la Series aiuta a capire il DataFrame, e non il contrario.
| Caratteristica | Series | DataFrame |
|---|---|---|
| Dimensioni | una (monodimensionale) | due (righe e colonne) |
| Analogia | una colonna di un foglio di calcolo | l’intero foglio di calcolo |
| Tipi di dato ammessi | un solo tipo per ogni Series | un tipo diverso per ogni colonna |
| Uso tipico | una misura singola nel tempo | un dataset completo |
La gestione dei valori mancanti, segnati come NaN, NA o NaT a seconda del tipo di dato, è integrata in entrambe le strutture: non serve una libreria separata per individuarli o rimuoverli.

Cosa si può fare con pandas
Pandas legge e scrive dati da CSV, Excel, JSON, database SQL e formati più tecnici come Parquet, con funzioni dedicate per ogni formato (le funzioni che iniziano per read_ importano, quelle che iniziano per to_ esportano). Chi lavora con grandi volumi di dati e vuole file più leggeri del CSV sceglie spesso Parquet, un formato colonnare pensato proprio per quel caso.
Oltre all’importazione, la libreria copre tre aree:
- Pulizia dei dati: individuazione, riempimento o rimozione dei valori mancanti.
- Manipolazione: filtro, ordinamento, unione di più tabelle con
mergeejoin. - Aggregazione: raggruppamento dei dati con
groupby, l’equivalente del GROUP BY di SQL applicato a un DataFrame.
Secondo una stima diffusa nel settore, l’80% del lavoro in un progetto di data science riguarda la pulizia dei dati a monte più che la scelta del modello: è una stima indicativa, senza una misurazione su un campione standardizzato. Resta comunque coerente con il ruolo di pandas, concentrato proprio su quella parte del lavoro.
Come si aggiunge pandas a un progetto Python
Pandas si aggiunge a un progetto Python con un gestore di pacchetti. Il comando più comune è pip install pandas, da lanciare nel terminale o nel prompt dei comandi; chi usa una distribuzione Anaconda può installarla in alternativa con conda install -c conda-forge pandas.
Per verificare che l’installazione sia andata a buon fine basta aprire la shell interattiva di Python e scrivere import pandas: se non compare un errore, la libreria è pronta all’uso. I dettagli cambiano da sistema operativo a sistema operativo e da ambiente di sviluppo a ambiente di sviluppo (Jupyter Notebook, Visual Studio Code, PyCharm): quando serve la procedura passo per passo per il proprio caso, conviene seguire la guida specifica per quell’ambiente invece di adattare un comando generico.
Come si inserisce pandas nell’ecosistema del machine learning?
Pandas prepara i dati, un ruolo distinto da quello delle librerie che intervengono dopo nella catena di lavoro. Un progetto tipico carica i dati grezzi con pandas, li pulisce e li trasforma in variabili utilizzabili (quella fase si chiama feature engineering), poi passa il risultato a una libreria che allena l’algoritmo.
| Fase del lavoro | Libreria indicata | Cosa fa in quella fase |
|---|---|---|
| Calcolo numerico di base | NumPy | operazioni matematiche veloci su array |
| Pulizia e preparazione dati | pandas | carica, filtra, aggrega le tabelle |
| Addestramento di modelli classici | scikit-learn | classificazione, regressione, clustering |
| Visualizzazione | Matplotlib | grafici a partire dai DataFrame |
Se il progetto richiede reti neurali profonde, il passaggio successivo porta verso librerie come quelle usate nel deep learning: anche in quel caso i dati arrivano quasi sempre da un DataFrame pandas convertito in tensori, non da un formato grezzo.
Versioni, licenza e verifica delle competenze
A novembre 2026 la versione più recente è pandas 3.1.1, che richiede Python 3.11 o successivo. Il salto dalla serie 2.x alla serie 3.x ha portato requisiti minimi più alti sulla versione di Python supportata: un progetto fermo su una versione vecchia di Python non può semplicemente aggiornare pandas senza aggiornare prima l’interprete. Le note di rilascio di ogni versione indicano quali funzioni sono cambiate; la documentazione ufficiale resta il punto dove verificarlo prima di aggiornare un ambiente di produzione.
La licenza BSD 3-clause permette l’uso commerciale senza vincoli di pubblicazione del codice che la integra, una scelta che ha facilitato l’adozione di pandas sia in ambito accademico sia in aziende che non vogliono rendere pubblici i propri sistemi interni.
La diffusione della libreria si vede anche fuori dal codice. In un esame di certificazione su quattro librerie Python per l’analisi dati, le domande su NumPy, pandas, Matplotlib e scikit-learn coprono 27 domande su 40, circa il 70% del totale, e la soglia per superare l’esame è fissata allo stesso 70%, cioè 28 risposte corrette su 40, secondo quanto riportato in [2026 Edition] Python Data Analysis Coding Patterns (2026). Sono due percentuali diverse che si somigliano per coincidenza: una misura quanto l’esame si concentra su queste librerie, l’altra è il criterio di promozione del candidato.
Errori comuni su cosa pandas fa davvero
Un equivoco frequente consiste nel considerare pandas un sostituto di un database. Pandas carica i dati in memoria per lavorarci, quindi su dataset che superano la RAM disponibile serve un motore di calcolo distribuito o un database a monte che faccia il filtro prima di passare i dati a pandas.
Un secondo equivoco riguarda la sigla stessa: nel campo della ricerca medica pediatrica esiste un’omonimia che non ha nulla a che fare con questa libreria, e che in questa pagina non viene trattata perché appartiene a un ambito del tutto diverso.
Chi arriva da Excel tende a cercare in pandas una funzione equivalente a ogni formula del foglio di calcolo: funziona meglio il percorso opposto, cioè partire da cosa serve ottenere (un totale per categoria, un filtro su una data) e cercare il metodo di pandas che lo fa, perché spesso un’unica riga di codice sostituisce diverse formule annidate.
Domande frequenti su pandas
Cos’è pandas?
Pandas è una libreria open source per Python che fornisce le strutture dati e gli strumenti per caricare, pulire e analizzare dataset tabellari. Si appoggia su NumPy e si usa in quasi ogni progetto Python che lavora con dati strutturati, anche fuori dal machine learning.
Da dove viene il nome pandas?
Il nome deriva da “panel data”, termine econometrico che indica osservazioni ripetute nel tempo sugli stessi soggetti. La libreria è stata scritta da Wes McKinney nel 2008 mentre lavorava su dati finanziari di questo tipo in AQR Capital Management.
Cosa sono Series e DataFrame?
Series e DataFrame sono le due strutture dati di pandas: la Series è un array monodimensionale etichettato, il DataFrame è una tabella bidimensionale composta, di fatto, da più Series allineate sullo stesso indice.
Come si installa pandas?
Pandas si installa con il comando pip install pandas nel terminale, oppure con conda install -c conda-forge pandas su un ambiente Anaconda. L’importazione riuscita si verifica scrivendo import pandas nella shell di Python.
A cosa serve pandas nel machine learning?
Pandas prepara i dati prima che entrino in un modello: li carica, li pulisce e li trasforma in variabili utilizzabili. L’addestramento vero e proprio spetta ad altre librerie, come scikit-learn per i modelli classici o le librerie di deep learning per le reti neurali.
Pandas è gratuito da usare?
Pandas è distribuito con licenza BSD 3-clause, che ne permette l’uso gratuito anche in contesti commerciali, senza obbligo di pubblicare il codice che la integra.