Comment calculer la moyenne géométrique en Python (avec exemples)
Il existe deux façons de calculer la moyenne géométrique en Python :
Méthode 1 : calculer la moyenne géométrique à l’aide de SciPy
from scipy.stats import gmean #calculate geometric mean gmean([value1, value2, value3, ...])
Méthode 2 : calculer la moyenne géométrique à l’aide de 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, ...])
Les deux méthodes renverront exactement les mêmes résultats.
Les exemples suivants montrent comment utiliser chacune de ces méthodes dans la pratique.
Exemple 1 : calculer la moyenne géométrique à l’aide de SciPy
Le code suivant montre comment utiliser la fonction gmean() de la bibliothèque SciPy pour calculer la moyenne géométrique d’un tableau de valeurs :
from scipy.stats import gmean #calculate geometric mean gmean([1, 4, 7, 6, 6, 4, 8, 9]) 4.81788719702029
La moyenne géométrique s’avère être 4,8179 .
Exemple 2 : calculer la moyenne géométrique à l’aide de NumPy
Le code suivant montre comment écrire une fonction personnalisée pour calculer une moyenne géométrique à l’aide des fonctions intégrées de la bibliothèque 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 moyenne géométrique s’avère être 4,8179 , ce qui correspond au résultat de l’exemple précédent.
Comment gérer les zéros
Notez que les deux méthodes renverront un zéro s’il y a des zéros dans le tableau avec lequel vous travaillez.
Ainsi, vous pouvez utiliser le morceau de code suivant pour supprimer les zéros d’un tableau avant de calculer la moyenne géométrique :
#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]
Ressources additionnelles
Comment calculer l’erreur quadratique moyenne (MSE) en Python
Comment calculer l’erreur absolue moyenne en Python