HOWTO · Python
Compruebe los valores de NaN en Python
Este tutorial demuestra cómo verificar los valores de NaN en Python
En esta página
El nan es una constante que indica que el valor dado no es legal - Not a Number.
Tenga en cuenta que nan y NULL son dos cosas diferentes. El valor NULL indica algo que no existe y está vacío.
En Python, tratamos con estos valores con mucha frecuencia en diferentes objetos. Entonces es necesario detectar tales constantes.
En Python, tenemos la función isnan(), que puede verificar los valores de nan. Y esta función está disponible en dos módulos: NumPy y math. La función isna() en el módulo pandas también puede comprobar los valores de nan.
Utilice la función math.isnan() para comprobar los valores nan en Python
La función isnan() de la biblioteca math se puede utilizar para comprobar las constantes nan en los objetos float. Devuelve True para cada valor encontrado. Por ejemplo:
import math
import numpy as np
b = math.nan
print(np.isnan(b))
Producción :
True
Tenga en cuenta que la constante math.nan representa un valor de nan.
Utilice la función numpy.isnan() para comprobar los valores nan en Python
La función numpy.isnan() puede comprobar en diferentes colecciones como listas, matrices y más para valores nan. Comprueba cada elemento y devuelve un array con True siempre que encuentra constantes nan. Por ejemplo:
import numpy as np
a = np.array([5, 6, np.NaN])
print(np.isnan(a))
Producción :
[False False True]
La constante np.NaN() representa también un valor nan.
Utilice la función pandas.isna() para comprobar los valores nan en Python
La función isna() del módulo pandas puede detectar valores NULL o nan. Devuelve True para todos los valores encontrados. También puede verificar dichos valores en un DataFrame o en un objeto Series. Por ejemplo,
import pandas as pd
import numpy as np
ser = pd.Series([5, 6, np.NaN])
print(pd.isna(ser))
Producción :
0 False
1 False
2 True
dtype: bool
Utilice obj != obj para comprobar los valores de nan en Python
Para cualquier objeto excepto nan, la expresión obj == obj siempre devuelve True. Por ejemplo,
print([] == [])
print("1" == "1")
print([1, 2, 3] == [1, 2, 3])
print(float("nan") == float("nan"))
Por lo tanto, podríamos usar obj != obj para comprobar si el valor es nan. Es nan si el valor de retorno es True.
import math
b = math.nan
def isNaN(num):
return num != num
print(isNaN(b))
Producción :
True
Sin embargo, este método puede fallar con versiones inferiores de Python (<=Python 2.5).