numpy.average
-
numpy.average(a, axis=None, weights=None, returned=False)[source] -
Вычисление взвешенного среднего по указанной оси.
Параметры: -
a : array_like -
Массив, содержащий данные для усреднения. Если
aне является массивом, производится попытка преобразования. -
axis : None or int or tuple of ints, optional -
Ось или оси, по которым вычисляется среднее значение
a. По умолчанию, axis=None, вычисляется среднее значение по всем элементам входного массива. Если axis отрицательное, оно отсчитывается от последней до первой оси.Введено в версии 1.7.0.
Если axis является кортежем целых чисел, усреднение выполняется по всем осям, указанным в кортеже, а не по одной оси или всем осям, как раньше.
-
weights : array_like, optional -
Массив весов, связанных со значениями в
a. Каждое значение вaвносит вклад в среднее значение в соответствии с его весом. Массив весов может быть одномерным (в этом случае его длина должна быть равна размеруaпо заданной оси) или иметь ту же форму, что иa. Еслиweights=None, то предполагается, что все данные вaимеют вес, равный единице. -
returned : bool, 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 = range(1,5) >>> data [1, 2, 3, 4] >>> np.average(data) 2.5 >>> np.average(range(1,11), weights=range(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])Отслеживание (последний вызов последним): … TypeError: Ось должна быть указана, когда формы a и весов отличаются.
>>> 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.average.html