Come calcolare la media geometrica in python (con esempi)
Esistono due modi per calcolare la media geometrica in Python:
Metodo 1: calcola la media geometrica utilizzando SciPy
from scipy. stats import gmean #calculate geometric mean gmean([value1, value2, value3, ...])
Metodo 2: calcolare la media geometrica utilizzando 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, ...])
Entrambi i metodi restituiranno esattamente gli stessi risultati.
Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi.
Esempio 1: calcolare la media geometrica utilizzando SciPy
Il codice seguente mostra come utilizzare la funzione gmean() della libreria SciPy per calcolare la media geometrica di un array di valori:
from scipy. stats import gmean #calculate geometric mean gmean([1, 4, 7, 6, 6, 4, 8, 9]) 4.81788719702029
La media geometrica risulta essere 4.8179 .
Esempio 2: calcolare la media geometrica utilizzando NumPy
Il codice seguente dimostra come scrivere una funzione personalizzata per calcolare una media geometrica utilizzando le funzioni integrate della libreria 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
La media geometrica risulta essere 4.8179 , che corrisponde al risultato dell’esempio precedente.
Come gestire gli zeri
Tieni presente che entrambi i metodi restituiranno uno zero se sono presenti zeri nell’array con cui stai lavorando.
Pertanto, puoi utilizzare il seguente pezzo di codice per rimuovere gli zeri da un array prima di calcolare la media geometrica:
#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]
Risorse addizionali
Come calcolare l’errore quadratico medio (MSE) in Python
Come calcolare l’errore assoluto medio in Python