Prüfen auf NaN-Werte in Python

Manav Narula 30 Januar 2023
  1. Verwendung der Funktion math.isnan() zur Prüfung auf nan-Werte in Python
  2. Verwenden Sie die Funktion numpy.isnan(), um in Python auf nan-Werte zu prüfen
  3. Verwenden Sie die Funktion pandas.isna(), um in Python auf nan-Werte zu prüfen
  4. Verwenden Sie obj != obj, um in Python auf nan-Werte zu prüfen
Prüfen auf NaN-Werte in Python

Das nan ist eine Konstante, die anzeigt, dass der angegebene Wert nicht legal ist - Not a Number.

Beachten Sie, dass nan und NULL zwei verschiedene Dinge sind. Der Wert NULL zeigt etwas an, das nicht existiert und leer ist.

In Python haben wir sehr häufig mit solchen Werten in verschiedenen Objekten zu tun. Daher ist es notwendig, solche Konstanten zu erkennen.

In Python haben wir die Funktion isnan(), die auf nan-Werte prüfen kann. Und diese Funktion ist in zwei Modulen verfügbar - NumPy und math. Die Funktion isna() im Modul pandas kann ebenfalls auf nan-Werte prüfen.

Verwendung der Funktion math.isnan() zur Prüfung auf nan-Werte in Python

Die Funktion isnan() in der math-Bibliothek kann verwendet werden, um auf nan-Konstanten in Float-Objekten zu prüfen. Sie gibt True für jeden gefundenen solchen Wert zurück. Ein Beispiel:

import math
import numpy as np

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

Ausgabe:

True

Beachten Sie, dass die Konstante math.nan einen nan-Wert darstellt.

Verwenden Sie die Funktion numpy.isnan(), um in Python auf nan-Werte zu prüfen

Die Funktion numpy.isnan() kann in verschiedenen Sammlungen wie Listen, Arrays und mehr auf nan-Werte prüfen. Sie prüft jedes Element und gibt ein Array mit True zurück, wo immer sie auf nan Konstanten trifft. Ein Beispiel:

import numpy as np

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

print(np.isnan(a))

Ausgabe:

[False False  True]

Die Konstante np.NaN() stellt auch einen nan-Wert dar.

Verwenden Sie die Funktion pandas.isna(), um in Python auf nan-Werte zu prüfen

Die Funktion isna() im Modul pandas kann NULL- oder nan-Werte erkennen. Sie gibt True für alle gefundenen Werte zurück. Sie kann auch auf solche Werte in einem DataFrame oder einem Series-Objekt prüfen. Ein Beispiel,

import pandas as pd
import numpy as np

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

print(pd.isna(ser))

Ausgabe:

0    False
1    False
2     True
dtype: bool

Verwenden Sie obj != obj, um in Python auf nan-Werte zu prüfen

Für jedes Objekt außer nan gibt der Ausdruck obj == obj immer True zurück. Ein Beispiel,

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

Wir könnten also obj != obj verwenden, um zu prüfen, ob der Wert nan ist. Es ist nan, wenn der Rückgabewert True ist.

import math

b = math.nan


def isNaN(num):
    return num != num


print(isNaN(b))

Ausgabe:

True

Diese Methode kann jedoch bei niedrigeren Versionen von Python (<=Python 2.5) fehlschlagen.

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

Verwandter Artikel - Python Math