Pode usar a função isna() da Bi­bli­o­teca Python Pandas para iden­ti­fi­car os valores nulos (NaN ou None) dentro de um DataFrame. Isso pode ser muito útil para de­ter­mi­nar se as análises planeadas podem ser re­a­li­za­das ou se os dados precisam de uma limpeza prévia.

Sintaxe do Pandas isna()

O Pandas DataFrame isna() não aceita pa­râ­me­tros, portanto a sua sintaxe é muito simples e é apre­sen­tada da seguinte forma:

DataFrame.isna()
python

Aplicação da função isna() do Pandas

A função isna() do Pandas é aplicada a um DataFrame para gerar um novo DataFrame com valores booleanos. Se um valor estiver ausente no DataFrame original ou for NaN ou None, o valor True é ar­ma­ze­nado na posição cor­res­pon­dente do resultado. Caso contrário, isna() retorna o valor False na posição cor­res­pon­dente.

Nota

Se, além de iden­ti­fi­car se há valores NaN ou None, você deseja eliminá-los, pode usar a função dropna() do Pandas. Se o que lhe interessa é subs­ti­tuir esses valores de forma sis­te­má­tica, pode usar a função fillna().

Iden­ti­fi­ca­ção de valores em falta num DataFrame

No exemplo seguinte, aparece um DataFrame com in­for­ma­ções sobre várias pessoas, no qual faltam alguns dados ou têm o valor None:

import pandas as pd
# Crear un DataFrame de ejemplo
data = {
    'Nombre': ['Alicia', 'Bob', None, 'David'],
    'Edad': [25, None, 35, 40],
    'Ciudad': ['Salamanca', 'León', 'Sevilla', None]
}
df = pd.DataFrame(data)
print(df)
python

O DataFrame re­sul­tante teria a seguinte aparência:

Nombre   Edad        Ciudad
0   Alicia   25.0     Salamanca
1    Bob      NaN          León
2   None     35.0       Sevilla
3   David    40.0          None

Para iden­ti­fi­car exa­ta­mente quais valores estão faltando, pode-se usar isna() no DataFrame:

# Aplicación de Pandas isna()
missing_values = df.isna()
print(missing_values)
python

A chamada à função gera um novo DataFrame, onde cada valor é subs­ti­tuído por True se o valor original estiver ausente ou por False se o valor estiver presente. O resultado seria o seguinte:

Nombre   Edad  Ciudad
0    False  False   False
1    False   True   False
2     True  False   False
3    False  False    True

Contar os valores em falta por coluna

Para poder decidir como lidar com os dados em falta, pode ser útil saber quantos valores estão em falta em cada coluna. Para isso, pode usar isna() em com­bi­na­ção com outra função Python, sum().

# Contar los valores faltantes por columna
missing_count = df.isna().sum()
print(missing_count)
python

O resultado mostra quantos valores estão em falta em cada coluna:

Nombre     1
Edad       1
Ciudad     1
dtype: int64
Ir para o menu principal