Compruebe los valores de NaN en Python

Manav Narula 30 enero 2023
  1. Utilice la función math.isnan() para comprobar los valores nan en Python
  2. Utilice la función numpy.isnan() para comprobar los valores nan en Python
  3. Utilice la función pandas.isna() para comprobar los valores nan en Python
  4. Utilice obj != obj para comprobar los valores de nan en Python
Compruebe los valores de NaN en Python

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).

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python Math