Entfernen Sie NaN aus der Liste in Python

Muhammad Waiz Khan 30 Januar 2023
  1. Entfernen Sie NaN mit der Methode math.isnan() aus der Liste in Python
  2. Entfernen Sie NaN mit der Methode numpy.isnan() aus der Liste in Python
  3. Entfernen Sie NaN aus der Liste der Strings in Python
  4. Entfernen Sie NaN mit der Methode pandas.isnull() aus der Liste in Python
Entfernen Sie NaN aus der Liste in Python

In diesem Tutorial werden verschiedene Methoden zum Suchen und Entfernen der NaN-Werte aus der Liste in Python untersucht. Der Wert NaN in der Programmierung bedeutet Not a Number, was bedeutet, dass der Wert der Variablen keine Zahl ist.

Wenn ein NaN-Wert in einem Array oder einer Liste vorkommt, kann dies zu Problemen und Fehlern bei den Berechnungen führen. In diesem Tutorial werden wir auch nach Möglichkeiten suchen, die Zeichenkettenwerte nan aus der Liste zu entfernen. Wir können die Werte NaN oder 'nan' mit den folgenden Methoden aus der Liste entfernen.

Entfernen Sie NaN mit der Methode math.isnan() aus der Liste in Python

Die Methode math.isnan(value) nimmt eine Zahl value als Eingabe und gibt True zurück, wenn der value ein NaN-Wert ist, andernfalls False. Daher können wir mit der Methode math.isnan() prüfen, ob eine Liste oder ein Array von Zahlen einen NaN-Wert enthält.

Wir brauchen die Methode math.isnan(), weil if float('NaN') == float('NaN') in Python False zurückgibt oder wir können sagen, dass zwei NaN-Werte in Python nicht gleich sind. Der folgende Beispielcode zeigt, wie Sie mit der Methode math.isnan() den Wert NaN aus der Liste entfernen.

import math

mylist = [1, 2, float("nan"), 8, 6, 4, float("nan")]
print(mylist)
newlist = [x for x in mylist if math.isnan(x) == False]
print(newlist)

Ausgabe:

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]

Entfernen Sie NaN mit der Methode numpy.isnan() aus der Liste in Python

Die Methode np.isnan(array) nimmt das array als Eingabe und gibt True für den entsprechenden Index zurück, wenn es sich um den Wert NaN handelt, andernfalls False.

Der folgende Beispielcode zeigt, wie Sie die NaN-Werte mit der Methode numpy.isnan() aus der Liste entfernen:

import numpy as np

mylist = [1, 2, float("nan"), 8, 6, 4, float("nan")]
print(mylist)
newlist = [x for x in mylist if np.isnan(x) == False]
print(newlist)

Ausgabe:

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]

Entfernen Sie NaN aus der Liste der Strings in Python

Nehmen wir nun an, dass die Nummernliste in einen Zeichenkettentyp konvertiert wird und wir prüfen möchten, ob sie NaN-Werte enthält. Nach der Konvertierung in den String-Typ wird der Wert NaN zu einem String gleich 'nan' und kann durch Vergleich mit 'nan' leicht erkannt und entfernt werden.

Der folgende Beispielcode zeigt, wie wir den Wert NaN aus der Liste der Zeichenkettendatentypen entfernen können:

mylist = [1, 2, "nan", 8, 6, 4, "nan"]
mylist = [str(x) for x in mylist]
print(mylist)
newlist = [x for x in mylist if x != "nan"]
print(newlist)

Ausgabe:

['1', '2', 'nan', '8', '6', '4', 'nan']
['1', '2', '8', '6', '4']

Entfernen Sie NaN mit der Methode pandas.isnull() aus der Liste in Python

Das pandas.isnull(obj) nimmt einen Skalar oder ein Array-ähnliches obj als Eingabe und gibt True zurück, wenn der Wert gleich NaN, None oder NaT ist; Andernfalls wird False zurückgegeben.

Der Beispielcode zeigt, wie die Methode pandas.isnull() verwendet wird, um die NaN-Werte aus Pythons Liste zu entfernen.

import pandas as pd

mylist = [1, 2, float("nan"), 8, float("nan"), 4, float("nan")]
print(mylist)
newlist = [x for x in mylist if pd.isnull(x) == False]
print(newlist)

Ausgabe:

[1, 2, nan, 8, nan, 4, nan]
[1, 2, 8, 4]

Angenommen, wir kennen den Typ der Liste nicht oder wissen nicht, ob die Liste die Daten verschiedener Datentypen enthält. In diesem Fall können wir die Werte für NaN und 'nan' mithilfe der Methode pandas.isnull() überprüfen und aus der Liste entfernen, indem wir jeden Wert der Liste mit dem Wert 'nan' vergleichen.

Wir können die Methode pandas.isnull() verwenden, da die Methode pandas.isnull() im Gegensatz zu den zuvor genannten Methoden keinen Fehler zurückgibt, wenn der String-Datentyp als Eingabe angegeben wird. Daher können wir die Methode pandas.isnull() verwenden, um die Werte NaN und 'nan' aus der Liste oder einem Array in Python zu entfernen.

Der folgende Beispielcode zeigt, wie die Methode pandas.isnull() und der Wert 'nan' verwendet werden, um die Werte NaN und 'nan' aus der Liste in Python zu entfernen.

import pandas as pd

mylist = ["John", 23, "nan", "New York", float("nan")]
print(mylist)
newlist = [x for x in mylist if pd.isnull(x) == False and x != "nan"]
print(newlist)

Ausgabe:

['John', 23, 'nan', 'New York', nan]
['John', 23, 'New York']

Verwandter Artikel - Python List