5 min read

Comment vérifier la valeur NaN en Python?

En Python, la valeur NaN est une valeur spéciale qui indique quun nombre nest pas un nombre. Pour vérifier une valeur NaN en Python, vous pouvez ...

En Python, la valeur NaN est une valeur spéciale qui indique qu'un nombre n'est pas un nombre. Pour vérifier une valeur NaN en Python, vous pouvez utiliser la fonction isinstance(). La fonction isinstance() renvoie une valeur booléenne qui indique si un objet donné est une instance d'une classe particulière. Si la fonction isinstance() renvoie True, alors l'objet est une instance de la classe spécifiée par l'argument, et si la fonction isinstance() renvoie False, alors l'objet n'est pas une instance de la classe spécifiée par l'argument

Pour utiliser la fonction isinstance() pour rechercher une valeur NaN en Python, vous pouvez utiliser l'exemple de code suivant

si estinstance(x, float)

print("x est un flottant")

autre

print("x n'est pas un nombre")

En Python, comment vérifier si une seule valeur est NaN ?. Il existe des approches qui utilisent des bibliothèques (pandas, math et numpy) et des approches qui n'utilisent pas de bibliothèques

NaN est l'abréviation de Not A Number et est l'un des moyens les plus courants de représenter une valeur manquante dans les données. Il s'agit d'une valeur à virgule flottante unique qui ne peut pas être convertie en un autre type autre que float

L'un des problèmes les plus sérieux dans l'analyse des données est la valeur NaN. Il est essentiel de traiter NaN afin d'obtenir les résultats souhaités

Il est simple de localiser et de traiter NaN dans un tableau, une série ou une trame de données. Cependant, il est difficile de déterminer une valeur NaN autonome. Dans cet article, je vais passer en revue cinq façons de gérer NaN en Python. Les trois premières méthodes reposent sur des fonctions de bibliothèque intégrées.

Méthode 1. Utilisation de la bibliothèque Pandas

La fonction isna() de la bibliothèque pandas peut être utilisée pour déterminer si une valeur est nulle ou NaN. Si la valeur est NaN/null, elle retournera True

import pandas as pd
x = float("nan")
print(f"It's pd.isna : {pd.isna(x)}")
OutputIt's pd.isna : True

Méthode 2. Utilisation de la bibliothèque Numpy

La fonction isnan() de la bibliothèque numpy peut être utilisée pour déterminer si une valeur est nulle ou NaN. C'est similaire à la fonction isna() de pandas

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True

Méthode 3. Utilisation de la bibliothèque mathématique

La bibliothèque mathématique comprend des fonctions mathématiques intégrées. Tous les nombres réels sont couverts par la bibliothèque. peut être utilisé lorsqu'il s'agit de grands nombres
Pour vérifier les valeurs null/NaN, la bibliothèque mathématique inclut la fonction isnan()

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True

Méthode 4. Se comparant à lui-même

Lorsque j'ai commencé à travailler pour une grande entreprise informatique, j'ai dû suivre une formation le premier mois. Lors de l'introduction du concept de valeurs NaN, le formateur a mentionné qu'elles sont similaires à des extraterrestres inconnus. Parce que ces extraterrestres changent constamment d'apparence, nous ne pouvons pas comparer la valeur NaN à elle-même
La façon la plus courante de détecter les valeurs NaN est de voir si la variable est égale à elle-même. Si ce n'est pas le cas, il doit s'agir d'une valeur NaN

def isNaN(num):
return num!= num
x=float("nan")
isNaN(x)
OutputTrue

Méthode 5. Vérification de la portée

La plage est une autre propriété de NaN qui peut être utilisée pour vérifier NaN. Toutes les valeurs à virgule flottante se situent entre moins l'infini et l'infini

infini < n'importe quel nombre < infini

Cependant, les valeurs de NaN se situent en dehors de cette plage. Par conséquent, si la valeur ne se situe pas dans la plage de moins l'infini à l'infini, elle est NaN

Cela peut être fait comme suit

def isNaN(num):
if float('-inf') < float(num) < float('inf'):
return False
else:
return True
x=float("nan")
isNaN(x)
OutputTrue

J'espère que vous avez trouvé l'article précédent utile. Je suis sûr qu'il existe de nombreuses autres techniques pour vérifier les valeurs NaN basées sur différentes logiques. Veuillez partager toutes les autres méthodes que vous avez découvertes pour vérifier les valeurs NaN/Null

Bonjour, aujourd'hui nous allons discuter de NaN. De plus, nous apprendrons à utiliser Python pour déterminer si une chaîne donnée est un NaN. Vous vous demandez peut-être ce qu'est ce NaN. Alors laissez-moi vous dire que Nan est l'abréviation de Not a Number. Il s'agit d'un type de données numériques qui représente une valeur imprévisible. Par exemple, la racine carrée d'un nombre négatif est un NaN, tout comme la soustraction d'un nombre infini d'un autre nombre infini. Dans un système informatique, NaN représente une valeur indéfinie

En Python, comment vérifier si une chaîne est NaN ?

Nous pouvons déterminer si une chaîne est NaN en utilisant la propriété de l'objet NaN selon laquelle un NaN. = NaN

Créons une fonction booléenne appelée isNaN() qui renvoie true si l'argument donné est un NaN et false sinon

def isNaN(string):
    return string != string
print(isNaN("hello"))
print(isNaN(np.nan))

Le code suivant produira le résultat suivant

False
True

Nous pouvons également convertir une valeur en nombre flottant pour déterminer s'il s'agit de NaN. Nous importons le module mathématique et utilisons les mathématiques pour ces. méthode isnan(). Voir le code ci-dessous

En conséquence, le code pour déterminer si une valeur NaN existe dans la colonne 'set_of_numbers' est le suivant

import pandas as pd
import numpy as np

data = {'set_of_numbers': [1,2,3,4,5,np.nan,6,7,np.nan,8,9,10,np.nan]}
df = pd.DataFrame(data)

check_for_nan = df['set_of_numbers'].isnull().values.any()
print (check_for_nan)

Lorsque vous exécutez le code, vous obtenez "True", ce qui confirme la présence de valeurs NaN dans la colonne DataFrame

True

En outre, si vous souhaitez voir la répartition réelle des instances où existent des valeurs NaN, vous pouvez supprimer. valeurs. any() du code. Ainsi, la syntaxe complète pour obtenir la ventilation serait la suivante

import pandas as pd
import numpy as np

data = {'set_of_numbers': [1,2,3,4,5,np.nan,6,7,np.nan,8,9,10,np.nan]}
df = pd.DataFrame(data)

check_for_nan = df['set_of_numbers'].isnull()
print (check_for_nan)

Vous devriez maintenant voir trois instances de valeurs NaN

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
00

Voici une autre méthode pour obtenir toutes les instances où une valeur NaN existe

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
01

Une nouvelle colonne (appelée 'value_is_NaN') apparaîtra maintenant, indiquant toutes les instances où une valeur NaN existe

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
02

(2) Compter le nombre de NaN dans une seule colonne DataFrame

Vous pouvez utiliser cette syntaxe pour compter les valeurs NaN dans une seule colonne DataFrame

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
03

La syntaxe de notre exemple est la suivante

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
04

Le décompte de trois valeurs NaN vous sera alors restitué

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
05

Et voici une autre méthode pour déterminer le nombre

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
06

Vous obtiendrez le décompte de trois instances de valeurs NaN, comme avant

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
07

(3) Rechercher NaN sur l'ensemble d'un DataFrame

Ajoutons maintenant une deuxième colonne au DataFrame d'origine. Un autre ensemble de nombres avec des valeurs NaN serait inclus dans cette colonne

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
08

Lorsque vous exécutez le code, vous verrez 8 instances de valeurs NaN dans le DataFrame

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
09

Vous pouvez ensuite utiliser cette syntaxe pour vérifier la présence de valeurs NaN sur l'ensemble du DataFrame

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True
00

Pour notre exemple

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True
01

Lorsque vous exécutez le code, vous obtenez la valeur "True", qui confirme la présence de valeurs NaN dans le DataFrame

Comment calculer la valeur d'un NaN ?

NaN est un nombre qui n'est pas un nombre légal en JavaScript. Le nombre. Si la valeur est NaN, la méthode isNaN() renvoie true. et le type de données est un nombre.

Comment puis-je vérifier la valeur NaN dans Pandas ?

Voici les méthodes de vérification de NaN dans Pandas DataFrame. .
Vérifier NaN avec isnull(). valeurs. méthode any()
Compter le NaN en utilisant isnull(). méthode sum()
Vérifier NaN en utilisant isnull(). valeurs. méthode any()
Compter le NaN en utilisant isnull(). somme(). méthode sum()

Comment déterminer si une variable a une valeur NaN ?

1. Méthode isNaN() . La fonction isNaN() peut être utilisée pour déterminer si un nombre est NaN. C'est une fonction booléenne qui retourne vrai si un nombre est NaN et faux sinon.

Comment déterminer si une chaîne a une valeur NaN ?

Nous pouvons déterminer si une chaîne est NaN en Utiliser la propriété de l'objet NaN qu'un NaN. = NaN . Créons une fonction booléenne appelée isNaN() qui renvoie true si l'argument donné est un NaN et false sinon. Nous pouvons également convertir une valeur en nombre flottant pour déterminer s'il s'agit de NaN.

John Conner
John Conner
John Conner has written about blogger for more than 5 years and for congnghe123 since 2017

Member discussion

       

Related Posts