Obtener valores nulos con Pandas isna()
Puedes usar la función isna()
de la Biblioteca Python Pandas para identificar los valores nulos (NaN
o None
) dentro de un DataFrame. Esto puede resultar muy útil para determinar si se pueden realizar los análisis planeados o si los datos requieren una limpieza previa.
- Rápido, seguro, flexible y escalable
- Certificado SSL/DDoS incluido
- Dominio y asesor personal incluidos
Sintaxis de Pandas isna()
Pandas DataFrame isna()
no acepta parámetros, por lo que su sintaxis es muy sencilla y se muestra de la siguiente manera:
DataFrame.isna()
pythonAplicación de la función isna()
de Pandas
La función isna()
de Pandas se aplica a un DataFrame para generar un nuevo DataFrame con valores booleanos. Si falta un valor en el DataFrame original o es NaN
o None
, se almacena el valor True
en la posición correspondiente del resultado. En caso contrario, isna()
devuelve el valor False
en la posición correspondiente.
Si además de identificar si hay valores NaN
o None
deseas eliminarlos, puedes usar la función dropna()
de Pandas. Si lo que te interesa es reemplazar esos valores de forma sistemática, puedes utilizar la función fillna()
.
Identificación de valores faltantes en un DataFrame
En el siguiente ejemplo aparece un DataFrame con información sobre varias personas en el que faltan algunos datos o tienen el 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)
pythonEl DataFrame resultante tendría este aspecto:
Nombre Edad Ciudad
0 Alicia 25.0 Salamanca
1 Bob NaN León
2 None 35.0 Sevilla
3 David 40.0 None
Para identificar exactamente qué valores faltan, se puede utilizar isna()
en el DataFrame:
# Aplicación de Pandas isna()
missing_values = df.isna()
print(missing_values)
pythonLa llamada a la función genera un nuevo DataFrame, donde cada valor se reemplaza por True
si falta el valor original o por False
si el valor está presente. El resultado sería el siguiente:
Nombre Edad Ciudad
0 False False False
1 False True False
2 True False False
3 False False True
Contar los valores faltantes por columna
Para poder decidir cómo manejar los datos faltantes, es posible que te resulte útil saber cuántos valores faltan en cada columna. Para ellos, puedes usar isna()
en combinación con otra función de Python, sum()
.
# Contar los valores faltantes por columna
missing_count = df.isna().sum()
print(missing_count)
pythonEl resultado muestra cuántos valores faltan en cada columna:
Nombre 1
Edad 1
Ciudad 1
dtype: int64