Spec-Zone.ru › NumPy 1.17

numpy.average

numpy.average(a, axis=None, weights=None, returned=False) [source]

Вычисление взвешенного среднего по указанной оси.

Параметры:
a : array_like

Массив, содержащий данные для усреднения. Если a не является массивом, производится попытка преобразования.

axis : None or int or tuple of ints, optional

Ось или оси, по которым следует вычислять среднее значение a. По умолчанию, axis=None, вычисляет среднее значение по всем элементам входного массива. Если axis отрицательный, он отсчитывается от последней к первой оси.

Добавлена в версии 1.7.0.

Если axis является кортежем целых чисел, усреднение выполняется по всем осям, указанным в кортеже, а не по одной оси или всем осям, как раньше.

weights : array_like, optional

Массив весов, связанных со значениями в a. Каждое значение в a вносит вклад в среднее значение в соответствии со своим весом. Массив весов может быть одномерным (в этом случае его длина должна соответствовать размеру a вдоль заданной оси) или иметь такую же форму, как и a. Если weights=None, то предполагается, что все данные в a имеют вес, равный единице.

returned : bool, optional

По умолчанию False. Если True, возвращается кортеж (average, sum_of_weights), в противном случае возвращается только среднее значение. Если weights=None, sum_of_weights эквивалентно числу элементов, по которым вычисляется среднее значение.

Возвращает:
retval, [sum_of_weights] : array_type or double

Возвращает среднее значение по указанной оси. Когда returned является True, возвращается кортеж со средним значением как первым элементом и суммой весов как вторым. sum_of_weights имеет тот же тип, что и retval. Тип результата соответствует общему правилу. Если weights равно None, тип результата будет таким же, как у a, или float64, если a является целым числом. В противном случае, если weights не равно None и a не целое число, тип результата будет типом с наименьшей точностью, способным представлять значения a и weights. Если a оказывается целым числом, предыдущие правила по-прежнему применяются, но тип результата будет как минимум float64.

Возможные исключения:
ZeroDivisionError

Возникает, когда все веса вдоль оси равны нулю. См. numpy.ma.average для версии, устойчивой к этому типу ошибок.

TypeError

Возникает, когда длина одномерного weights не совпадает с формой a вдоль оси.

См. также

mean

ma.average
среднее значение для массивных массивов — полезно, если ваши данные содержат «пропущенные» значения
numpy.result_type
Возвращает тип, полученный в результате применения правил повышения типа numpy к аргументам.

Примеры

>>> data = list(range(1,5))
>>> data
[1, 2, 3, 4]
>>> np.average(data)
2.5
>>> np.average(range(1,11), weights=range(10,0,-1))
4.0
>>> data = np.arange(6).reshape((3,2))
>>> data
array([[0, 1],
       [2, 3],
       [4, 5]])
>>> np.average(data, axis=1, weights=[1./4, 3./4])
array([0.75, 2.75, 4.75])
>>> np.average(data, weights=[1./4, 3./4])
Traceback (most recent call last):
    ...
TypeError: Axis must be specified when shapes of a and weights differ.
>>> a = np.ones(5, dtype=np.float128)
>>> w = np.ones(5, dtype=np.complex64)
>>> avg = np.average(a, weights=w)
>>> print(avg.dtype)
complex256

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.average.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API