Hoe het geometrische gemiddelde in python te berekenen (met voorbeelden)
Er zijn twee manieren om het geometrische gemiddelde in Python te berekenen:
Methode 1: Bereken het geometrische gemiddelde met behulp van SciPy
from scipy. stats import gmean #calculate geometric mean gmean([value1, value2, value3, ...])
Methode 2: Bereken het geometrische gemiddelde met NumPy
import numpy as np
#define custom function
def g_mean(x):
a = np. log (x)
return np. exp ( a.mean ())
#calculate geometric mean
g_mean([value1, value2, value3, ...])
Beide methoden leveren exact dezelfde resultaten op.
De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken.
Voorbeeld 1: Bereken het geometrische gemiddelde met SciPy
De volgende code laat zien hoe u de functie gmean() van de SciPy- bibliotheek kunt gebruiken om het geometrische gemiddelde van een reeks waarden te berekenen:
from scipy. stats import gmean #calculate geometric mean gmean([1, 4, 7, 6, 6, 4, 8, 9]) 4.81788719702029
Het geometrische gemiddelde blijkt 4,8179 te zijn.
Voorbeeld 2: Bereken het geometrische gemiddelde met NumPy
De volgende code laat zien hoe u een aangepaste functie schrijft om een geometrisch gemiddelde te berekenen met behulp van de ingebouwde functies van de NumPy- bibliotheek:
import numpy as np
#define custom function
def g_mean(x):
a = np. log (x)
return np. exp ( a.mean ())
#calculate geometric mean
g_mean([1, 4, 7, 6, 6, 4, 8, 9])
4.81788719702029
Het geometrische gemiddelde blijkt 4,8179 te zijn, wat overeenkomt met het resultaat uit het vorige voorbeeld.
Hoe om te gaan met nullen
Houd er rekening mee dat beide methoden een nul retourneren als er nullen voorkomen in de array waarmee u werkt.
U kunt dus het volgende stukje code gebruiken om nullen uit een array te verwijderen voordat u het geometrische gemiddelde berekent:
#create array with some zeros
x = [1, 0, 0, 6, 6, 0, 8, 9]
#remove zeros from array
x_new = [i for i in x if i != 0]
#view updated array
print (x_new)
[1, 6, 6, 8, 9]
Aanvullende bronnen
Hoe de gemiddelde kwadratische fout (MSE) in Python te berekenen
Hoe de gemiddelde absolute fout in Python te berekenen