La funzione DataFrame.isna() di Pandas per Python ti aiuta a identificare i dati mancanti (NaN o None) all’interno di un DataFrame. Questa funzionalità può essere utile per stabilire se è possibile eseguire le analisi programmate o se i dati devono essere prima ripuliti.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax

La sintassi di isna() in Pandas

La funzione isna() in Pandas non accetta nessun parametro e la sua sintassi è quindi molto semplice:

DataFrame.isna()
python

Utilizzo della funzione isna()

La funzione isna() di Pandas si applica su un DataFrame per generare un nuovo DataFrame con valori booleani. Se un valore manca nel DataFrame originale oppure se un valore è NaN o None, la posizione corrispondente nel risultato viene occupata dal valore True. In caso contrario, isna() restituisce il valore False nella posizione in questione.

N.B.

Se desideri non soltanto rilevare la presenza o meno di valori NaN o None, ma anche rimuoverli, puoi prendere in considerazione la funzione dropna() di Pandas. Se invece vuoi sostituire sistematicamente i valori, puoi ricorrere alla funzione fillna().

Identificazione di valori mancanti in un DataFrame

Gli esempi seguenti utilizzano un DataFrame contenente informazioni su varie persone, ma alcuni dati sono mancanti o hanno il valore None:

import pandas as pd
# Creazione di un DataFrame di esempio
data = {
    'Nome': ['Alice', 'Bob', None, 'David'],
    'Età': [25, None, 35, 40],
    'Città': ['New York', 'Los Angeles', 'Chicago', None]
}
df = pd.DataFrame(data)
print(df)
python

Il DataFrame si presenta così:

Nome   Età        Città
0  Alice   25.0     New York
1    Bob    NaN  Los Angeles
2   None   35.0      Chicago
3  David   40.0         None

Per individuare esattamente i valori mancanti è possibile richiamare la funzione isna() sul DataFrame.

# Utilizzo di isna() in Pandas
missing_values = df.isna()
print(missing_values)
python

La chiamata della funzione restituisce un nuovo DataFrame in cui un valore è sostituito da True se manca il valore originale e con False se il valore è presente. Il risultato si presenta quindi così:

Nome  Età    Città
0  False  False  False
1  False   True  False
2   True  False  False
3  False  False   True

Conteggio dei valori mancanti per ogni colonna

Può essere utile sapere quanti valori mancano in ciascuna colonna per decidere come gestire i dati mancanti. A tal fine è possibile utilizzare isna() in combinazione con la funzione sum() di Python.

# Conteggio dei valori mancanti per ogni colonna
missing_count = df.isna().sum()
print(missing_count)
python

Il risultato mostra quanti valori mancano in ciascuna colonna:

Nome     1
Età      1
Città    1
dtype: int64
Hai trovato questo articolo utile?
Vai al menu principale