numpy.average
-
numpy.average(a, axis=None, weights=None, returned=False)[source] -
Вычисление взвешенного среднего по указанной оси.
- Параметры
-
-
aarray_like -
Массив, содержащий данные для усреднения. Если
aне является массивом, выполняется попытка преобразования. -
axisNone or int or tuple of ints, optional -
Ось или оси, по которым нужно выполнить усреднение
a. По умолчанию, axis=None, будет усреднено по всем элементам входного массива. Если axis отрицательный, он отсчитывается от последней до первой оси.Добавлена в версии 1.7.0.
Если axis является кортежем целых чисел, усреднение выполняется по всем осям, указанным в кортеже, вместо одной оси или всех осей, как раньше.
-
weightsarray_like, optional -
Массив весов, связанных со значениями в
a. Каждое значение вaвносит вклад в среднее значение в соответствии с его связанным весом. Массив весов может быть одномерным (в этом случае его длина должна быть равна размеруaпо заданной оси) или иметь такую же форму, как иa. Еслиweights=None, все данные вaпредполагаются с весом, равным единице. Одномерный расчет:avg = sum(a * weights) / sum(weights)
Единственное ограничение на
weightsзаключается в том, чтоsum(weights)не должно быть равно 0. -
returnedbool, 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 = 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.average.html