Numpy mean() vs average(): was ist der unterschied?
Sie können die Funktionen np.mean() oder np.average() verwenden, um den Durchschnittswert eines Arrays in Python zu berechnen.
Hier ist der subtile Unterschied zwischen den beiden Funktionen:
- np.mean berechnet immer das arithmetische Mittel.
- np.average verfügt über einen optionalen Gewichtungsparameter , der zur Berechnung eines gewichteten Durchschnitts verwendet werden kann.
Die folgenden Beispiele zeigen, wie die einzelnen Funktionen in der Praxis verwendet werden.
Beispiel 1: Verwenden Sie np.mean() und np.average() ohne Gewichtungen
Angenommen, wir haben die folgende Tabelle in Python, die sieben Werte enthält:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Wir können np.mean() und np.average() verwenden, um den Durchschnittswert dieses Arrays zu berechnen:
import numpy as np
#calculate average value of array
n.p. mean (data)
6.142857142857143
#calculate average value of array
n.p. average (data)
6.142857142857143
Beide Funktionen geben genau den gleichen Wert zurück.
Beide Funktionen verwendeten zur Berechnung des Durchschnitts die folgende Formel:
Durchschnitt = (1 + 4 + 5 + 7 + 8 + 8 + 10) / 7 = 6,142857 …
Beispiel 2: Verwenden Sie np.average() mit Gewichtungen
Nehmen wir erneut an, dass wir in Python das folgende Array haben, das sieben Werte enthält:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Wir können np.average() verwenden, um einen gewichteten Durchschnitt für dieses Array zu berechnen, indem wir eine Liste von Werten für die Gewichtsparameter bereitstellen:
import numpy as np
#calculate weighted average of array
n.p. average (data, weights=(.1, .2, .4, .05, .05, .1, .1))
5.45
Der gewichtete Durchschnitt beträgt 5,45 .
Hier ist die Formel, die np.average() zur Berechnung dieses Werts verwendet:
Gewichteter Durchschnitt = 1*.1 + 4*.2 + 5*.4 + 7*.05 + 8*.05 + 8*.1 + 10*.1 = 5.45 .
Beachten Sie, dass wir np.mean() nicht verwenden konnten, um diese Berechnung durchzuführen, da diese Funktion keinen Gewichtsparameter hat.
Eine vollständige Erläuterung der Funktionen np.mean() und np.average() finden Sie in der NumPy-Dokumentation.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie man andere Durchschnittswerte in Python berechnet:
So berechnen Sie gleitende Durchschnitte in Python
So berechnen Sie einen kumulativen Durchschnitt in Python