Como calcular a média geométrica em python (com exemplos)
Existem duas maneiras de calcular a média geométrica em Python:
Método 1: calcular a média geométrica usando SciPy
from scipy. stats import gmean #calculate geometric mean gmean([value1, value2, value3, ...])
Método 2: calcular a média geométrica usando 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, ...])
Ambos os métodos retornarão exatamente os mesmos resultados.
Os exemplos a seguir mostram como usar cada um desses métodos na prática.
Exemplo 1: Calcular a média geométrica usando SciPy
O código a seguir mostra como usar a função gmean() da biblioteca SciPy para calcular a média geométrica de uma matriz de valores:
from scipy. stats import gmean #calculate geometric mean gmean([1, 4, 7, 6, 6, 4, 8, 9]) 4.81788719702029
A média geométrica acaba sendo 4,8179 .
Exemplo 2: Calcular a média geométrica usando NumPy
O código a seguir demonstra como escrever uma função personalizada para calcular uma média geométrica usando as funções integradas da biblioteca 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
A média geométrica acaba sendo 4,8179 , o que corresponde ao resultado do exemplo anterior.
Como lidar com zeros
Observe que ambos os métodos retornarão zero se houver zeros no array com o qual você está trabalhando.
Portanto, você pode usar o seguinte trecho de código para remover zeros de uma matriz antes de calcular a média geométrica:
#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]
Recursos adicionais
Como calcular o erro quadrático médio (MSE) em Python
Como calcular o erro médio absoluto em Python