numpy.average(a, axis=None, weights=None, returned=False) [source]

Calcule el promedio ponderado a lo largo del eje especificado.

Parámetros
aarray_like

Matriz que contiene los datos que se van a promediar. Si a no es una matriz, se intenta una conversión.

axisNone or int or tuple of ints, optional

Eje o ejes a lo largo de los cuales promediar a. El valor predeterminado, eje = Ninguno, promediará todos los elementos de la matriz de entrada. Si el eje es negativo, cuenta desde el último hasta el primer eje.

Nuevo en la versión 1.7.0.

Si axis es una tupla de ints, el promedio se realiza en todos los ejes especificados en la tupla en lugar de en un solo eje o en todos los ejes como antes.

weightsarray_like, optional

Una matriz de pesos asociados con los valores en a. Cada valor en a contribuye a la media según su peso asociado. La matriz de pesos puede ser 1-D (en cuyo caso su longitud debe ser del tamaño de a a lo largo del eje dado) o de la misma forma que a. Si weights=None, luego todos los datos en a se supone que tienen un peso igual a uno. El cálculo 1-D es:

avg = sum(a * weights) / sum(weights)

La única restricción en weights es eso sum(weights) no debe ser 0.

returnedbool, optional

El valor predeterminado es False. Si True, la tuplaaverage, sum_of_weights) se devuelve; de ​​lo contrario, solo se devuelve el promedio. Si weights=None, sum_of_weights es equivalente al número de elementos sobre los que se toma el promedio.

Devoluciones
retval, [sum_of_weights]array_type or double

Devuelve el promedio a lo largo del eje especificado. Cuando returned es True, devuelve una tupla con el promedio como primer elemento y la suma de los pesos como segundo elemento. sum_of_weights es del mismo tipo que retval. El tipo de resultado sigue un patrón general. Si weights es None, el resultado dtype será el de a , o float64 si a es integral. De lo contrario, si weights no es Ninguno y a no es integral, el tipo de resultado será el tipo de precisión más baja capaz de representar valores de ambos a y weights. Si a resulta ser integral, las reglas anteriores aún se aplican pero el resultado dtype será al menos float64.

Eleva
ZeroDivisionError

Cuando todos los pesos a lo largo del eje son cero. Ver numpy.ma.average para una versión robusta a este tipo de error.

Error de tecleado

Cuando la longitud de 1D weights no es lo mismo que la forma de a a lo largo del eje.

Ver también

mean
ma.average

promedio para matrices enmascaradas: útil si sus datos contienen valores “perdidos”

numpy.result_type

Devuelve el tipo que resulta de aplicar las reglas de promoción de tipos numéricos a los argumentos.

Ejemplos de

>>> 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