Obter valores nulos com Pandas isna()
Pode usar a função isna() da Biblioteca Python Pandas para identificar os valores nulos (NaN ou None) dentro de um DataFrame. Isso pode ser muito útil para determinar se as análises planeadas podem ser realizadas ou se os dados precisam de uma limpeza prévia.
Sintaxe do Pandas isna()
O Pandas DataFrame isna() não aceita parâmetros, portanto a sua sintaxe é muito simples e é apresentada da seguinte forma:
DataFrame.isna()pythonAplicaçã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 é armazenado na posição correspondente do resultado. Caso contrário, isna() retorna o valor False na posição correspondente.
Se, além de identificar se há valores NaN ou None, você deseja eliminá-los, pode usar a função dropna() do Pandas. Se o que lhe interessa é substituir esses valores de forma sistemática, pode usar a função fillna().
Identificação de valores em falta num DataFrame
No exemplo seguinte, aparece um DataFrame com informaçõ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)pythonO DataFrame resultante 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 NonePara identificar exatamente quais valores estão faltando, pode-se usar isna() no DataFrame:
# Aplicación de Pandas isna()
missing_values = df.isna()
print(missing_values)pythonA chamada à função gera um novo DataFrame, onde cada valor é substituí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 TrueContar 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 combinação com outra função Python, sum().
# Contar los valores faltantes por columna
missing_count = df.isna().sum()
print(missing_count)pythonO resultado mostra quantos valores estão em falta em cada coluna:
Nombre 1
Edad 1
Ciudad 1
dtype: int64