Saltar al contenido principal

Python NaN: 4 formas de comprobar valores perdidos en Python

Explora 4 formas de detectar valores NaN en Python, utilizando NumPy y Pandas. Aprende las diferencias clave entre NaN y Ninguno para limpiar y analizar los datos con eficacia.
Actualizado 16 ene 2025  · 5 min de lectura

En el mundo de la ciencia de datos y la analítica, encontrarse con datos que faltan es más una regla que una excepción. Los valores perdidos pueden sesgar el análisis, llevar a conclusiones incorrectas y, en general, perturbar el flujo del procesamiento de datos. Abordar estas lagunas es crucial para mantener la integridad de tu análisis. Este artículo pretende enseñarte distintas formas de identificar valores NaN (Not a Number) en Python.

La respuesta breve: Utiliza la función isnan() o Pandas .isna() método

Al tratar con valores perdidos en Python, el enfoque depende en gran medida de la estructura de datos con la que estés trabajando.

Para valores individuales o matrices: Utiliza NumPy

La función isnan() de NumPy es ideal para identificar NaNs en matrices numéricas o valores individuales, ya que ofrece una solución sencilla y eficaz. ¡Aquí está en acción!

import numpy as np

# Single value check
my_missing_value = np.nan
print(np.isnan(my_missing_value))  # Output: True

# Array check
my_missing_array = np.array([1, np.nan, 3])
nan_array = np.isnan(my_missing_array)
print(nan_array)  # Output: [False  True False]

Para los DataFrames: Utiliza Pandas

Pandas proporciona métodos completos como .isna() y .isnull() para detectar valores perdidos en objetos DataFrame o Series, integrándose perfectamente con los flujos de trabajo de análisis de datos.

import pandas as pd
import numpy as np

my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})


print(my_dataframe.isna())

Cuando ejecutes este código, la salida indicará la presencia de valores NaN en un contexto más interesante, como se muestra a continuación:

   Column1  Column2
0    False    False
1    False     True
2     True    False

La diferencia entre NaN y None

Entender la distinción entre NaN y None es crucial en Python. NaN es una representación en coma flotante de "No es un número", utilizada principalmente en cálculos numéricos. None, por otro lado, es el objeto de Python que representa la ausencia de un valor, similar a null en otros lenguajes. Mientras que NaN se utiliza en cálculos matemáticos o científicos, None es de uso más general, lo que indica la falta de datos.

4 formas de comprobar NaN en Python

Navegar por los conjuntos de datos para identificar los valores perdidos es un paso fundamental en el preprocesamiento de datos. Vamos a explorar cuatro métodos prácticos para comprobar los valores de NaN en Python, continuando con los atractivos ejemplos que ya hemos utilizado.

1. Comprobación de NaN mediante np.isnan()

Como hemos visto antes, NumPy proporciona un enfoque sencillo para identificar los valores de NaN tanto en valores individuales como en matrices, lo que es esencial para el análisis de datos numéricos.

import numpy as np

# Checking a single value
print(np.isnan(np.nan))  # Output: True

# Checking an array
my_array = np.array([1, 5, np.nan])
print(np.isnan(my_array))  # Output: [False False  True]

2. Comprobación de NaN utilizando pd.isna()

Pandas simplifica la detección de valores NaN en estructuras de datos, desde escalares a complejos DataFrames, lo que lo hace inestimable para tareas de manipulación de datos.

import pandas as pd

# Checking a single value
print(pd.isna(np.nan))  # Output: True

# Checking a pandas Series
my_series = pd.Series(["Python", np.nan, "The Best"])
print(my_series.isna())  # Output: [False  True  False]

# Checking a pandas DataFrame
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})


print(pd.isna(my_dataframe)) # Output a DataFrame with True for missing values

3. Comprobación de NaN en DataFrames utilizando Pandas .isna() o .isnull() métodos

Los DataFrames de Pandas también ofrecen los métodos .isna() y .isnull() para localizar sin esfuerzo los valores que faltan en los conjuntos de datos, proporcionando una visión clara de la integridad de los datos.

import pandas as pd

# Create a dataframe with missing values
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

print(my_dataframe.isnull())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

4. Comprobación de NaN en DataFrames utilizando math.isnan()

Para las comprobaciones de números individuales, la función math.isnan() ofrece una solución sencilla pero eficaz, especialmente cuando se trata de tipos de datos puros de Python.

import math

# Assuming my_number is a float or can be converted to one
my_number = float('nan')
print(math.isnan(my_number))  # Output: True

Reflexiones finales y recursos adicionales

Identificar y gestionar los valores NaN es un paso fundamental en la limpieza y preparación de tus datos para el análisis. Tanto si trabajas con matrices, series o marcos de datos, es esencial que conozcas las herramientas y métodos disponibles en Python para tratar los datos que faltan. Para profundizar, consulta los siguientes recursos:


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel es educador de Ciencia de Datos, conferenciante y Evangelista en DataCamp, donde ha publicado varios cursos y formación en directo sobre análisis de datos, aprendizaje automático e ingeniería de datos. Le apasiona difundir las habilidades y la alfabetización en materia de datos en las organizaciones y en la intersección entre tecnología y sociedad. Tiene un máster en Ciencia de Datos y Análisis Empresarial. En su tiempo libre, puedes encontrarle pasando el rato con su gato Louis.

Temas

¡Comienza hoy tu viaje en Python!

programa

Fundamentos de Datos en Python

30 horas hr
Desarrolla tus habilidades con los datos, descubre cómo manipularlos y visualizarlos, y aplica análisis avanzados para tomar decisiones basadas en datos.
Ver detallesRight Arrow
Comienza el curso
Certificación disponible

curso

Limpieza de datos en Python

4 hr
123.4K
¡Aprende a diagnosticar y tratar los datos sucios y desarrolla las habilidades necesarias para transformar tus datos brutos en perspectivas precisas!
Ver másRight Arrow