Numpy média() vs média(): qual é a diferença?
Você pode usar as funções np.mean() ou np.average() para calcular o valor médio de um array em Python.
Aqui está a diferença sutil entre as duas funções:
- np.mean sempre calcula a média aritmética.
- np.average possui um parâmetro de peso opcional que pode ser usado para calcular uma média ponderada.
Os exemplos a seguir mostram como usar cada função na prática.
Exemplo 1: Use np.mean() e np.average() sem pesos
Suponha que temos a seguinte tabela em Python que contém sete valores:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Podemos usar np.mean() e np.average() para calcular o valor médio deste array:
import numpy as np
#calculate average value of array
n.p. mean (data)
6.142857142857143
#calculate average value of array
n.p. average (data)
6.142857142857143
Ambas as funções retornam exatamente o mesmo valor.
Ambas as funções usaram a seguinte fórmula para calcular a média:
Média = (1 + 4 + 5 + 7 + 8 + 8 + 10) / 7 = 6,142857 …
Exemplo 2: Use np.average() com pesos
Vamos supor novamente que temos o seguinte array em Python que contém sete valores:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Podemos usar np.average() para calcular uma média ponderada para este array, fornecendo uma lista de valores para os parâmetros de peso :
import numpy as np
#calculate weighted average of array
n.p. average (data, weights=(.1, .2, .4, .05, .05, .1, .1))
5.45
A média ponderada acabou sendo 5,45 .
Aqui está a fórmula usada por np.average() para calcular este valor:
Média ponderada = 1*,1 + 4*,2 + 5*,4 + 7*,05 + 8*,05 + 8*,1 + 10*,1 = 5,45 .
Observe que não poderíamos usar np.mean() para realizar este cálculo, pois esta função não possui um parâmetro de peso .
Consulte a documentação do NumPy para uma explicação completa das funções np.mean() e np.average() .
Recursos adicionais
Os tutoriais a seguir explicam como calcular outros valores médios em Python:
Como calcular médias móveis em Python
Como calcular uma média cumulativa em Python