Python NaN: 4 formas de comprobar si hay valores perdidos en Python
Explora cuatro formas de detectar valores NaN en Python, utilizando NumPy y Pandas. Aprende las diferencias clave entre NaN y None para limpiar y analizar datos de manera eficiente.
En el mundo de la ciencia y el análisis de datos, encontrar datos faltantes es más una regla que una excepción. Los valores que faltan pueden sesgar el análisis, llevar a conclusiones incorrectas y, en general, interrumpir el flujo del procesamiento de datos. Abordar estas deficiencias es fundamental para mantener la integridad de tu análisis. El objetivo de este artículo es proporcionarte diferentes formas de identificar valores NaN (Not a Number, no es un número) en Python.
La respuesta corta: Utiliza NumPy's isnan() función o Pandas .isna() método
Cuando se trata de valores perdidos en Python, el enfoque depende en gran medida de la estructura de datos con la que estés trabajando.
Para valores únicos o arreglos: Utiliza NumPy.
La función isnan() de NumPy es ideal para identificar valores NaN en arreglos numéricos o valores únicos, ya que ofrece una solución sencilla y eficaz. ¡Aquí lo tienes 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]Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Pandas proporciona métodos completos como .isna() y .isnull() para detectar valores perdidos en objetos DataFrame o Series, integrándose a la perfección 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())# Column1 Column2# 0 False False# 1 False True# 2 True FalseCon la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Cuando ejecutes este código, el resultado indicará la presencia de valores NaN en un contexto más interesante, como se muestra arriba.
La diferencia entre NaN y None
Comprender la diferencia entre NaN y None es fundamental en Python. NaN es una representación en coma flotante de «Not a Number» (No es un número), que se utiliza principalmente en cálculos numéricos. Por otro lado, None es un objeto de Python que representa la ausencia de un valor, similar al null de otros lenguajes. Mientras que NaN se utiliza en cálculos matemáticos o científicos, «None» tiene un uso más general y indica la falta de datos.
4 formas de comprobar si hay NaN en Python
Navegar por los conjuntos de datos para identificar valores perdidos es un paso fundamental en el preprocesamiento de datos. Exploremos cuatro métodos prácticos para comprobar los valores e NaN es en Python, continuando con los interesantes ejemplos que ya hemos utilizado.
1. Comprobación de NaN utilizando np.isnan()
Como hemos visto anteriormente, NumPy ofrece un método sencillo para identificar valores e NaN es tanto en valores individuales como en arreglos, lo cual es esencial para el análisis de datos numéricos.
import numpy as np
# Checking a single valueprint(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]Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Pandas simplifica la detección de valores NaN en estructuras de datos, desde escalares hasta DataFrame complejos, lo que lo hace invaluable para tareas de manipulación de datos.
import numpy as np
import pandas as pd
# Checking a single valueprint(pd.isna(np.nan))# Output: True# Checking a pandas Series
my_series = pd.Series(["Python", np.nan,"The Best"])print(my_series.isna())# Output:# 0 False# 1 True# 2 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 valuesCon la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
3. Comprobando si NaN en DataFrame utilizando Pandas .isna() o .isnull() métodos
Los DataFrame de Pandas también ofrecen los métodos .isna() y .isnull() para localizar fácilmente los valores que faltan en los conjuntos de datos, lo que proporciona una visión general clara de la integridad de los datos.
import numpy as np
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 Falseprint(my_dataframe.isnull())# Output:# Column1 Column2# 0 False False# 1 False True# 2 True FalseCon la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
4. Comprobando si NaN en DataFrames utilizando math.isnan()
Para comprobaciones numéricas individuales, la función math.isnan() ofrece una solución sencilla pero eficaz, especialmente cuando se trata de tipos de datos Python puros.
import math
# Assuming my_number is a float or can be converted to one
my_number =float('nan')print(math.isnan(my_number))# Output: TrueCon la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Identificar y gestionar los valores NaN es un paso fundamental en la limpieza y preparación de los datos para su análisis. Tanto si trabajas con arreglos, series o marcos de datos, es fundamental comprender las herramientas y métodos disponibles en Python para tratar los datos faltantes. Para obtener más información, 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.
Prepárate para tu próxima entrevista de ciencia de datos con preguntas esenciales de NumPy, de básico a avanzado. Perfectas para afianzar tus habilidades y ganar confianza.
Explora el análisis de datos con Python. Los DataFrames de Pandas facilitan la manipulación de tus datos, desde la selección o sustitución de columnas e índices hasta la remodelación de tus datos.
Utiliza Python Pandas y selecciona columnas de los DataFrames. ¡Sigue nuestro tutorial con ejemplos de código y aprende hoy mismo distintas formas de seleccionar tus datos!
Desarrolla tus habilidades con los datos, descubre cómo manipularlos y visualizarlos, y aplica análisis avanzados para tomar decisiones basadas en datos.
¡Adquiere las habilidades de preparación de datos del mundo real que necesitas para revelar las ideas que importan! Descubre cómo importar, limpiar y trabajar con API y datos web.
En el mundo de la ciencia y el análisis de datos, encontrar datos faltantes es más una regla que una excepción. Los valores que faltan pueden sesgar el análisis, llevar a conclusiones incorrectas y, en general, interrumpir el flujo del procesamiento de datos. Abordar estas deficiencias es fundamental para mantener la integridad de tu análisis. El objetivo de este artículo es proporcionarte diferentes formas de identificar valores NaN (Not a Number, no es un número) en Python.
La respuesta corta: Utiliza NumPy's
isnan()función o Pandas.isna()métodoCuando se trata de valores perdidos en Python, el enfoque depende en gran medida de la estructura de datos con la que estés trabajando.
Para valores únicos o arreglos: Utiliza NumPy.
La función
isnan()de NumPy es ideal para identificar valores NaN en arreglos numéricos o valores únicos, ya que ofrece una solución sencilla y eficaz. ¡Aquí lo tienes en acción!Para DataFrames: Usa pandas
Pandas proporciona métodos completos como
.isna()y.isnull()para detectar valores perdidos en objetos DataFrame o Series, integrándose a la perfección con los flujos de trabajo de análisis de datos.Cuando ejecutes este código, el resultado indicará la presencia de valores NaN en un contexto más interesante, como se muestra arriba.
La diferencia entre
NaNyNoneComprender la diferencia entre
NaNyNonees fundamental en Python.NaNes una representación en coma flotante de «Not a Number» (No es un número), que se utiliza principalmente en cálculos numéricos. Por otro lado,Nonees un objeto de Python que representa la ausencia de un valor, similar al null de otros lenguajes. Mientras queNaNse utiliza en cálculos matemáticos o científicos, «None» tiene un uso más general y indica la falta de datos.4 formas de comprobar si hay NaN en Python
Navegar por los conjuntos de datos para identificar valores perdidos es un paso fundamental en el preprocesamiento de datos. Exploremos cuatro métodos prácticos para comprobar los valores e
NaNes en Python, continuando con los interesantes ejemplos que ya hemos utilizado.1. Comprobación de NaN utilizando np.isnan()
Como hemos visto anteriormente, NumPy ofrece un método sencillo para identificar valores e
NaNes tanto en valores individuales como en arreglos, lo cual es esencial para el análisis de datos numéricos.2. Comprobando si
NaNutilizandopd.isna()Pandas simplifica la detección de valores NaN en estructuras de datos, desde escalares hasta DataFrame complejos, lo que lo hace invaluable para tareas de manipulación de datos.
3. Comprobando si
NaNen DataFrame utilizando Pandas.isna()o.isnull()métodosLos DataFrame de Pandas también ofrecen los métodos
.isna()y.isnull()para localizar fácilmente los valores que faltan en los conjuntos de datos, lo que proporciona una visión general clara de la integridad de los datos.4. Comprobando si
NaNen DataFrames utilizandomath.isnan()Para comprobaciones numéricas individuales, la función
math.isnan()ofrece una solución sencilla pero eficaz, especialmente cuando se trata de tipos de datos Python puros.Reflexiones finales y recursos adicionales
Identificar y gestionar los valores NaN es un paso fundamental en la limpieza y preparación de los datos para su análisis. Tanto si trabajas con arreglos, series o marcos de datos, es fundamental comprender las herramientas y métodos disponibles en Python para tratar los datos faltantes. Para obtener más información, consulta los siguientes recursos: