numpy.mean

numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>)

Функция mean() вычисляет среднее арифметическое значений элементов массива.

Параметры:
a - массив NumPy или подобный массиву объект.
Входные данные.
axis - число, кортеж целых чисел или None (необязательный параметр).
Позволяет задать ось или несколько осей вдоль которых вычисляется среднее арифметическое. По умолчанию установлено значение None, что соответствует вычислению среднего арифметического всех элементов массива, так словно он сжат до одной оси.
dtype - тип данных NumPy (необязательный параметр).
По умолчанию равен None, что означает использование для вычисления среднего арифметического целых чисел типа float64, а для чисел с плавающей точкой тип данных будет совпадать с типом данных входного массива.
out - массив NumPy (необязательный параметр).
Массив в который можно поместить результат функции. Данный массив должен соответствовать форме и типу данных результирующего массива функции (зачастую, тип данных может быть преобразован автоматически). Указание данного параметра, позволяет избежать лишней операции присваивания тем самым немного ускоряя работу вашего кода. Полезный параметр если вы очень часто обращаетесь к функции в цикле.
keepdims - True или False (необязательный параметр).
Если данный параметр указан как True, то результат работы функции по указанным осям будет способен к транслированию по исходному массиву, т.е. результат функции оформляется в массив с количеством осей исходного массива. Если параметр установлен в значение False, то результатом работы функции будет либо число, либо одномерный массив чисел. Доступно в NumPy с версии 1.9.0.
Возвращает:
результат - массив NumPy или число
Среднее арифметическое значений элементов массива в виде числа для одномерного массива, или многомерного если параметр axis = None. Для многомерного массива возвращает массив NumPy если в параметре axis оси указаны.
Смотрите так же:
var, average, median, std

Примеры

>>> import numpy as np
>>> 
>>> a = [1, 2, 3, 5, 6, 7]
>>> 
>>> np.mean(a)
4.0

Если у массива больше одной оси (больше одного измерения), то мы можем найти среднее вдоль каждой из них:

>>> >>> a = np.arange(18).reshape(3, 6)
>>> a
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17]])
>>> 
>>> #  Среднее столбцов:
... np.mean(a, axis = 0)
array([ 6.,  7.,  8.,  9., 10., 11.])
>>> 
>>> #  Среднее строк:
... np.mean(a, axis = 1)
array([ 2.5,  8.5, 14.5])

Параметр keepdims позволяет сохранить форму исходного массива, что позволяет в дальнейшем использовать механизм транслирования:

>>> np.mean(a, axis = 0, keepdims = True)
array([[ 6.,  7.,  8.,  9., 10., 11.]])
>>> 
>>> np.mean(a, axis = 1, keepdims = True)
array([[ 2.5],
       [ 8.5],
       [14.5]])

Параметр out позволяет указать массив в который необходимо поместить результат расчетов:

>>> m = np.zeros(6,)
>>> m
array([0., 0., 0., 0., 0., 0.])
>>> 
>>> np.mean(a, axis = 0, out = m)
array([ 6.,  7.,  8.,  9., 10., 11.])
>>> 
>>> m
array([ 6.,  7.,  8.,  9., 10., 11.])

Параметр dtype полезен, если тип данных входного массива float32 или float16, но необходима максимальная точность, которую эти типы данных обеспечить не могут:

>>> a = np.float16(np.random.rand(1000, 1000))
>>> a
array([[0.875  , 0.10693, 0.7925 , ..., 0.958  , 0.031  , 0.305  ],
       [0.3625 , 0.8843 , 0.4902 , ..., 0.398  , 0.6904 , 0.826  ],
       [0.2339 , 0.8037 , 0.555  , ..., 0.0922 , 0.596  , 0.898  ],
       ...,
       [0.5513 , 0.5435 , 0.4707 , ..., 0.3118 , 0.1296 , 0.1608 ],
       [0.8955 , 0.454  , 0.953  , ..., 0.1741 , 0.2286 , 0.879  ],
       [0.872  , 0.1453 , 0.1837 , ..., 0.946  , 0.5513 , 0.8936 ]],
      dtype=float16)
>>> 
>>> np.mean(a)
0.5005
>>> 
>>> np.mean(a, dtype = np.float64)
0.5003466272966862