Vérifier les valeurs NaN en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction math.isnan() pour vérifier les valeurs nan en Python
  2. Utilisez la fonction numpy.isnan() pour vérifier les valeurs nan en Python
  3. Utilisez la fonction pandas.isna() pour vérifier les valeurs nan en Python
  4. Utilisez le obj != obj pour vérifier les valeurs nan en Python
Vérifier les valeurs NaN en Python

Le nan est une constante qui indique que la valeur donnée n’est pas légale - Not a Number.

Notez que nan et NULL sont deux choses différentes. La valeur NULL indique quelque chose qui n’existe pas et qui est vide.

En Python, nous traitons de telles valeurs très fréquemment dans différents objets. Il est donc nécessaire de détecter de telles constantes.

En Python, nous avons la fonction isnan(), qui peut vérifier les valeurs nan. Et cette fonction est disponible en deux modules - NumPy et math. La fonction isna() du module pandas peut également vérifier les valeurs nan.

Utilisez la fonction math.isnan() pour vérifier les valeurs nan en Python

La fonction isnan() de la bibliothèque math peut être utilisée pour vérifier les constantes nan dans les objets flottants. Il renvoie True pour chaque valeur rencontrée. Par exemple:

import math
import numpy as np

b = math.nan
print(np.isnan(b))

Production:

True

Notez que la constante math.nan représente une valeur nan.

Utilisez la fonction numpy.isnan() pour vérifier les valeurs nan en Python

La fonction numpy.isnan() peut vérifier dans différentes collections comme des listes, des tableaux et plus encore pour les valeurs nan. Il vérifie chaque élément et renvoie un tableau avec True partout où il rencontre des constantes nan. Par exemple:

import numpy as np

a = np.array([5, 6, np.NaN])

print(np.isnan(a))

Production:

[False False  True]

La constante np.NaN() représente également une valeur nan.

Utilisez la fonction pandas.isna() pour vérifier les valeurs nan en Python

La fonction isna() du module pandas peut détecter les valeurs NULL ou nan. Il renvoie True pour toutes ces valeurs rencontrées. Il peut également vérifier ces valeurs dans un DataFrame ou un objet Series. Par exemple,

import pandas as pd
import numpy as np

ser = pd.Series([5, 6, np.NaN])

print(pd.isna(ser))

Production:

0    False
1    False
2     True
dtype: bool

Utilisez le obj != obj pour vérifier les valeurs nan en Python

Pour tout objet sauf nan, l’expression obj == obj renvoie toujours True. Par exemple,

print([] == [])
print("1" == "1")
print([1, 2, 3] == [1, 2, 3])
print(float("nan") == float("nan"))

Par conséquent, nous pourrions utiliser obj != obj pour vérifier si la valeur est nan. C’est nan si la valeur de retour est True.

import math

b = math.nan


def isNaN(num):
    return num != num


print(isNaN(b))

Production:

True

Cette méthode peut cependant échouer avec les versions inférieures de Python (<=Python 2.5).

Auteur: Manav Narula
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

Article connexe - Python Math