Вы можете использовать функции 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
np.mean (data)
6.142857142857143
#calcualte average value of array
np.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
np.average (data, weights=(.1, .2, .4, .05, .05, .1, .1))
5.45
Средневзвешенное значение оказывается равным 5,45 .
Вот формула, которую np.average() использовал для вычисления этого значения:
Средневзвешенное значение = 1 * 0,1 + 4 * 0,2 + 5 * 0,4 + 7 * 0,05 + 8 * 0,05 + 8 * 0,1 + 10 * 0,1 = 5,45 .
Обратите внимание, что мы не могли использовать np.mean() для выполнения этого вычисления, поскольку эта функция не имеет параметра веса .
Обратитесь к документации NumPy для полного объяснения функций np.mean() и np.average() .
Дополнительные ресурсы
В следующих руководствах объясняется, как рассчитать другие средние значения в Python:
Как рассчитать скользящие средние в Python
Как рассчитать совокупное среднее значение в Python