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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert