La funzione DataFrame.isna() di Pandas per Python ti aiuta a iden­ti­fi­ca­re i dati mancanti (NaN o None) all’interno di un DataFrame. Questa fun­zio­na­li­tà può essere utile per stabilire se è possibile eseguire le analisi pro­gram­ma­te o se i dati devono essere prima ripuliti.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

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 cor­ri­spon­den­te nel risultato viene occupata dal valore True. In caso contrario, isna() re­sti­tui­sce 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 ri­muo­ver­li, puoi prendere in con­si­de­ra­zio­ne la funzione dropna() di Pandas. Se invece vuoi so­sti­tui­re si­ste­ma­ti­ca­men­te i valori, puoi ricorrere alla funzione fillna().

Iden­ti­fi­ca­zio­ne di valori mancanti in un DataFrame

Gli esempi seguenti uti­liz­za­no un DataFrame con­te­nen­te in­for­ma­zio­ni 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 in­di­vi­dua­re esat­ta­men­te i valori mancanti è possibile ri­chia­ma­re la funzione isna() sul DataFrame.

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

La chiamata della funzione re­sti­tui­sce un nuovo DataFrame in cui un valore è so­sti­tui­to 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 uti­liz­za­re isna() in com­bi­na­zio­ne 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
Vai al menu prin­ci­pa­le