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 = list(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]) 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.average.html