Entfernen Sie NaN aus der Liste in Python
-
Entfernen Sie
NaN
mit der Methodemath.isnan()
aus der Liste in Python -
Entfernen Sie
NaN
mit der Methodenumpy.isnan()
aus der Liste in Python -
Entfernen Sie
NaN
aus der Liste der Strings in Python -
Entfernen Sie
NaN
mit der Methodepandas.isnull()
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
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert