Skip to content

NumPy: Berechne die Summe, den Mittelwert, das Maximum und das Minimum von ndarray mit np.nan

Python

In NumPy gibt es np.sum() für ein Array ndarray mit dem fehlenden Wert np.nan np.nan zurück. Sie können die Summe der Werte ohne den fehlenden Wert np.nan mit np.nansum() berechnen.

Neben np.nansum() werden auch np.nanmean(), np.nanmax(), np.nanmin(), np.nanstd() und np.nanvar() bereitgestellt. Sie können den Mittelwert, das Maximum, das Minimum, die Standardabweichung und die Varianz berechnen, wobei Sie den fehlenden Wert np.

Im following Artikel erfahren SIE, wie SIE np.nan ersetzen oder Zeilen oder Spalten löschen, die np.nan enthalten.

Verwenden Sie die folgende CSV-Datei mit fehlenden Daten.

import numpy as np

arr = np.genfromtxt('data/src/sample_nan.csv', delimiter=',')
print(arr)
# [[ 11.  12.  nan  14.]
#  [ 21.  nan  nan  24.]
#  [ 31.  32.  33.  34.]]

Verwenden Sie np.nansum() für ndarray, das den fehlenden Wert np.nan enthält

Für ndarray, das den fehlenden Wert np.nan enthält, gibt die np.sum()-Funktion oder die sum()-Methode von ndarray np.nan zurück.

print(arr.sum())
# nan

print(np.sum(arr))
# nan

np.nansum() gibt die Summe der Werte ohne np.nan zurück.

print(np.nansum(arr))
# 212.0

Wie bei sum() can SIE auch Summen entlang von Zeilen oder Spalten berechnen, indem SIE die Parameterachse setzen.

print(np.nansum(arr, axis=0))
# [ 63.  44.  33.  72.]

print(np.nansum(arr, axis=1))
# [  37.   45.  130.]

Beachten Sie, dass nansum() nicht als Methode von ndarray bereitgestellt WIRD.

np.nanmean(), np.nanmax(), np.nanmin(), np.nanstd() und np.nanvar()

Neben np.nansum() werden auch np.nanmean(), np.nanmax(), np.nanmin(), np.nanstd() und np.nanvar() bereitgestellt.

Sie können den Mittelwert, das Maximum, das Minimum, die Standardabweichung und die Varianz berechnen, wobei Sie den fehlenden Wert np.

print(np.nanmean(arr))
# 23.5555555556

print(np.nanmax(arr))
# 34.0

print(np.nanmin(arr))
# 11.0

print(np.nanstd(arr))
# 8.90831211237

print(np.nanvar(arr))
# 79.3580246914