Jak obliczyć średnią geometryczną w pythonie (z przykładami)
Istnieją dwa sposoby obliczania średniej geometrycznej w Pythonie:
Metoda 1: Oblicz średnią geometryczną za pomocą SciPy
from scipy. stats import gmean #calculate geometric mean gmean([value1, value2, value3, ...])
Metoda 2: Oblicz średnią geometryczną za pomocą 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, ...])
Obie metody zwrócą dokładnie takie same wyniki.
Poniższe przykłady pokazują, jak zastosować każdą z tych metod w praktyce.
Przykład 1: Oblicz średnią geometryczną za pomocą SciPy
Poniższy kod pokazuje, jak używać funkcji gmean() biblioteki SciPy do obliczania średniej geometrycznej tablicy wartości:
from scipy. stats import gmean #calculate geometric mean gmean([1, 4, 7, 6, 6, 4, 8, 9]) 4.81788719702029
Średnia geometryczna wynosi 4,8179 .
Przykład 2: Oblicz średnią geometryczną za pomocą NumPy
Poniższy kod demonstruje, jak napisać niestandardową funkcję obliczającą średnią geometryczną przy użyciu wbudowanych funkcji biblioteki 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([1, 4, 7, 6, 6, 4, 8, 9])
4.81788719702029
Okazuje się, że średnia geometryczna wynosi 4,8179 , co odpowiada wynikowi z poprzedniego przykładu.
Jak postępować z zerami
Pamiętaj, że obie metody zwrócą zero, jeśli w tablicy, z którą pracujesz, znajdują się zera.
Możesz więc użyć poniższego fragmentu kodu, aby usunąć zera z tablicy przed obliczeniem średniej geometrycznej:
#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]
Dodatkowe zasoby
Jak obliczyć średni błąd kwadratowy (MSE) w Pythonie
Jak obliczyć średni błąd bezwzględny w Pythonie