Spec-Zone.ru › NumPy 1.16

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 = 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])

Отслеживание (последний вызов последним): … TypeError: Ось должна быть указана, когда формы a и весов отличаются.

>>> 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.16.1/reference/generated/numpy.average.html

Spec-Zone.ru

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