Programa
Python NaN: 4 formas de comprobar valores perdidos en Python
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 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.
¡Comienza hoy tu viaje en Python!
Programa
Importing & Cleaning Data in Python
Curso