So entfernen sie nan-werte aus dem numpy-array (3 methoden)
Sie können die folgenden Methoden verwenden, um NaN-Werte aus einem NumPy-Array zu entfernen:
Methode 1: Verwenden Sie isnan()
new_data = data[~np. isnan (data)]
Methode 2: Verwenden Sie isfinite()
new_data = data[np. isfinite (data)]
Methode 3: Verwenden Sie logical_not()
new_data = data[np. logical_not (np. isnan (data))]
Jede dieser Methoden liefert das gleiche Ergebnis, die erste Methode ist jedoch am kürzesten einzugeben und wird daher am häufigsten verwendet.
Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.
Beispiel 1: NaN-Werte mit isnan() entfernen
Der folgende Code zeigt, wie man mit der Funktion isnan() NaN-Werte aus einem NumPy-Array entfernt:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[~np. isnan (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
Beachten Sie, dass beide NaN-Werte erfolgreich aus dem NumPy-Array entfernt wurden.
Diese Methode behält einfach alle Array-Elemente bei, die keine (~)NaN-Werte sind.
Beispiel 2: NaN-Werte mit isfinite() entfernen
Der folgende Code zeigt, wie man mit der Funktion isfinite() NaN-Werte aus einem NumPy-Array entfernt:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. isfinite (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
Beachten Sie, dass beide NaN-Werte erfolgreich aus dem NumPy-Array entfernt wurden.
Diese Methode behält einfach alle Array-Elemente bei, die endliche Werte haben.
Da die NaN-Werte nicht endlich sind, werden sie aus der Tabelle entfernt.
Beispiel 3: NaN-Werte mit logical_not() entfernen
Der folgende Code zeigt, wie man mit der Funktion logical_not() NaN-Werte aus einem NumPy-Array entfernt:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. logical_not (np. isnan (data))]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
Beachten Sie, dass beide NaN-Werte erfolgreich aus dem NumPy-Array entfernt wurden.
Obwohl diese Methode den beiden vorherigen entspricht, erfordert sie mehr Tipparbeit und wird daher nicht so häufig verwendet.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in Python ausführen:
Pandas: So ersetzen Sie leere Strings durch NaN
Pandas: So ersetzen Sie NaN-Werte durch eine Zeichenfolge