La funzione isna() in Pandas: rilevamento dei valori mancanti
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.
- 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()
pythonUtilizzo 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.
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)
pythonIl 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)
pythonLa 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)
pythonIl risultato mostra quanti valori mancano in ciascuna colonna:
Nome 1
Età 1
Città 1
dtype: int64