numpy.average
- numpy.average(a, axis=None, weights=None, returned=False)[source]
-
Вычисление взвешенного среднего по указанной оси.
- Параметры
-
- aarray_like
-
Массив, содержащий данные для усреднения. Если
aне является массивом, выполняется попытка преобразования. - axisNone или int или кортеж из целых чисел, необязательно
-
Ось или оси, по которым вычисляется среднее значение
a. По умолчанию, axis=None, вычисляется среднее значение по всем элементам входного массива. Если axis отрицательный, он отсчитывается с последней до первой оси.Добавлена в версии 1.7.0.
Если axis является кортежем из целых чисел, усреднение выполняется по всем осям, указанным в кортеже, а не по одной оси или всем осям, как раньше.
- weightsarray_like, необязательно
-
Массив весов, связанных со значениями в
a. Каждое значение вaвносит вклад в среднее значение в соответствии со своим весом. Массив весов может быть одномерным (в этом случае его длина должна быть равна размеруaвдоль заданной оси) или иметь такую же форму, как иa. Еслиweights=None, предполагается, что все данные вaимеют вес, равный единице. Расчет для одномерного случая:avg = sum(a * weights) / sum(weights)
Единственное ограничение для
weightsзаключается в том, чтоsum(weights)не должно быть равно 0. - returnedbool, необязательно
-
По умолчанию
False. ЕслиTrue, возвращается кортеж (average,sum_of_weights) , в противном случае возвращается только среднее значение. Еслиweights=None,sum_of_weightsэквивалентно количеству элементов, по которым вычисляется среднее значение.
- Возвращает
-
- retval, [sum_of_weights]array_type или 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вдоль оси.
См. также
meanma.average-
среднее для массивных массивов – полезно, если ваши данные содержат «отсутствующие» значения
numpy.result_type-
Возвращает тип, который получается в результате применения правил повышения типа numpy к аргументам.
Примеры
>>> data = np.arange(1, 5) >>> data array([1, 2, 3, 4]) >>> np.average(data) 2.5 >>> np.average(np.arange(1, 11), weights=np.arange(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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.average.html