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вдоль оси.
См. также
-
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.average.html