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