NumPy mean() vs average()
A média é o valor central de um conjunto de observações. Pode haver muitas formas de média, como média geométrica, harmônica e aritmética. No mundo das estatísticas, a média aritmética e a média são usadas alternadamente. Ambos são calculados usando a mesma fórmula, ou seja, soma do total de observações dividido pelo número total de observações.
Em Python, temos duas funções que podem calcular a média aritmética ou média. Estas são as funções numpy.mean() e numpy.average() disponíveis no módulo NumPy.
Ambas as funções podem ser usadas para calcular a média aritmética ou média conforme mostrado abaixo:
import numpy as np
arr = np.array([12, 15, 18, 19, 20])
print("Average Function: ", np.average(arr))
print("Type returned: ", type(np.average(arr)))
print("Mean Function: ", np.mean(arr))
print("Type returned: ", type(np.mean(arr)))
Resultado:
Average Function: 16.8
Type returned: <class 'numpy.float64'>
Mean Function: 16.8
Type returned: <class 'numpy.float64'>
Observe que ambas retornam a saída final no mesmo tipo e pode parecer que ambas as funções são equivalentes.
No entanto, existem algumas diferenças entre eles. A função numpy.average() também pode calcular a média ponderada de um array, algo que não é possível na função numpy.mean(). Para isso, simplesmente passamos os pesos como um parâmetro para a função conforme mostrado abaixo:
import numpy as np
arr = np.array([12, 15, 18, 19, 20])
arr_w = np.array([0.1, 0.1, 0.1, 0.2, 0.5])
print("Weighted Average Function: ", np.average(arr, weights=arr_w))
Resultado:
Weighted Average Function: 18.3
Outra diferença notável é que a função np.mean() pode ter muitos outros parâmetros como dtype, out, where, keepdims e mais que não estão disponíveis em np.average() Função.
Esses parâmetros adicionais podem ser benéficos; por exemplo, podemos ter uma situação em que o tipo de objeto cuja média deve ser calculada é desconhecido ou ambíguo. Nesses casos, podemos especificar o tipo usando o parâmetro dtype. O parâmetro out pode especificar se queremos armazenar o resultado em un array alternativa. Também podemos definir o eixo ao longo do qual queremos calcular a média usando o parâmetro axis. O código a seguir mostra o uso de alguns parâmetros na função np.mean().
import numpy as np
arr = np.array([[12, 15, 18, 19, 20], [10, 16, 7, 18, 20], [20, 12, 24, 11, 14]])
x = np.arange(3)
print("Mean Function: ", np.mean(arr, dtype=int, axis=1, out=x))
print("Output array: ", x)
Resultado:
Mean Function: [16 14 16]
Output array: [16 14 16]
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn