numpy.mean(a, axis=None, dtype=None, out=None, keepdims=False)
La función numpy.mean devuelve el promedio de los elementos del array a. Por defecto se calcula el promedio del array una vez aplanado. Si se indica un eje, solo se considerará dicho eje en el cálculo.
- a: array_tipe. Array conteniendo los valores cuyo promedio se desea calcular. Si a no es un array, la función intenta realizar una conversión
- axis: (Opcional) None, número entero o tupla de números enteros. Eje o ejes sobre los que realizar el cálculo.
- dtype: (Opcional) data-type. Tipo a usar para el cálculo. Si los valores de entrada son números enteros, el valor por defecto es float64; para valores de entrada de tipo números reales, el valor por defecto coincide con el que aquellos tengan.
- out: (Opcional) ndarray. Array de salida alternativo en el que volcar el resultado. El valor por defecto es None. Si se incluye este argumento, deberá tener el mismo tamaño que el resultado esperado, aunque el tipo será modificado si es necesario.
- keepdims: (Opcional) bool. Si toma el valor True, los ejes que son reducidos se dejan en el resultados como dimensiones con tamaño 1.
La función numpy.mean devuelve un ndarray.
Si partimos del siguiente array a:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.shape)
...podemos calcular el valor medio de todos los valores incluidos en el array con las siguientes instrucciones:
r = np.mean(a)
print(r)
print(type(r))
Si especificamos que el cálculo se realice a lo largo del eje 0 (eje correspondiente a las filas), el resultado es el siguiente:
r = np.mean(a, 0)
print(r)
print(type(r))
Obsérvese el tipo del resultado: un array numpy de tamaño (3, ).
Obtenemos un resultado semejante si el cálculo se realiza a lo largo del eje 1 (columnas):
r = np.mean(a, 1)
print(r)
print(type(r))
En este caso, el resultado es también un numpy array, pero su tamaño es (2, ).
Si fijamos el argumento keepdims a True, sí se mantienen las dimensiones:
r = np.mean(a, 1, keepdims = True)
print(r)
print(r.shape)
Podemos forzar el tipo de los valores devueltos en el resultado con el argumento dtype:
r = np.mean(a, 1, dtype = np.int8)
print(r)
print(type(r))
En este ejemplo partimos de un array numpy de tres dimensiones:
import numpy as np
a = np.array([
[[1, 2, 3], [4, 5, 6], [7, 8, 9]],
[[10, 11, 12], [13, 14, 15], [16, 17, 18]]])
print(a)
print(a.shape)
Podemos calcular el promedio sobre los diferentes ejes como se muestra a continuación. El eje 0 (el correspondiente a las filas):
r = np.mean(a, 0)
print(r)
print(type(r))
El eje 1 (correspondiente a las columnas):
r = np.mean(a, 1)
print(r)
print(type(r))
Y, por último, el eje 2 (el correspondiente a la profundidad):
r = np.mean(a, 2)
print(r)
print(type(r))
También es posible dar como valor de axis una tupla, indicando los ejes sobre los que se realizará el cálculo:
r = np.mean(a, (0, 2))
print(r)
print(type(r))