Numpy mean() и average(): в чем разница?
Вы можете использовать функции np.mean() или np.average() для вычисления среднего значения массива в Python.
Вот тонкая разница между этими двумя функциями:
- np.mean всегда вычисляет среднее арифметическое.
- np.average имеет дополнительный параметр веса , который можно использовать для расчета средневзвешенного значения.
Следующие примеры показывают, как использовать каждую функцию на практике.
Пример 1. Используйте np.mean() и np.average() без весов.
Предположим, у нас есть следующая таблица в Python, содержащая семь значений:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Мы можем использовать np.mean() и np.average() для вычисления среднего значения этого массива:
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
Обе функции возвращают одно и то же значение.
Обе функции использовали следующую формулу для расчета среднего значения:
Среднее = (1 + 4 + 5 + 7 + 8 + 8 + 10) / 7 = 6,142857 …
Пример 2. Использование np.average() с весами
Предположим еще раз, что у нас есть следующий массив в Python, содержащий семь значений:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Мы можем использовать np.average() для вычисления средневзвешенного значения для этого массива, предоставив список значений параметрам веса :
import numpy as np
#calculate weighted average of array
n.p. average (data, weights=(.1, .2, .4, .05, .05, .1, .1))
5.45
Средневзвешенное значение оказывается равным 5,45 .
Вот формула, используемая np.average() для расчета этого значения:
Средневзвешенное значение = 1*,1 + 4*,2 + 5*,4 + 7*,05 + 8*,05 + 8*,1 + 10*,1 = 5,45 .
Обратите внимание, что мы не могли использовать np.mean() для выполнения этого расчета, поскольку эта функция не имеет параметра веса .
Обратитесь к документации NumPy для полного объяснения функций np.mean() и np.average() .
Дополнительные ресурсы
Следующие руководства объясняют, как рассчитать другие средние значения в Python:
Как рассчитать скользящие средние в Python
Как рассчитать совокупное среднее значение в Python