numpy.average
- numpy.average(a, axis=None, weights=None, returned=False, *, keepdims=<no value>)[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эквивалентно числу элементов, по которым вычисляется среднее значение. - keepdimsbool, необязательно
-
Если установлено в True, оси, которые были уменьшены, остаются в результате в виде измерений с размером один. С этим параметром результат будет корректно транслироваться относительно исходного
a. Примечание:keepdimsне будет работать с экземплярамиnumpy.matrixили другими классами, методы которых не поддерживаютkeepdims.Новая в версии 1.23.0.
- Возвращает:
-
- 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, иaxis=None. - ValueError
-
Когда
weightsне имеет размерностей и формы, согласованных сaвдоль указаннойaxis.
См. также
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.С
keepdims=True, следующий результат имеет форму (3, 1).>>> np.average(data, axis=1, keepdims=True) array([[0.5], [2.5], [4.5]])>>> data = np.arange(8).reshape((2, 2, 2)) >>> data array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]) >>> np.average(data, axis=(0, 1), weights=[[1./4, 3./4], [1., 1./2]]) array([3.4, 4.4]) >>> np.average(data, axis=0, weights=[[1./4, 3./4], [1., 1./2]]) Traceback (most recent call last): ... ValueError: Shape of weights must be consistent with shape of a along specified axis.
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.average.html