Tengo una matriz acomo esta:
a = [[40, 10], [50, 11]]
Necesito calcular la media para cada dimensión por separado, el resultado debería ser este:
[45, 10.5]
45siendo la media de a[*][0]y 10.5la media de a[*][1].
¿Cuál es la forma más elegante de resolver esto sin usar un bucle?

In [n]:significa? es esta parte del código?axis=0lugar deaxis=1axis=0está en la siguiente línea. Edité para mostrar más información, ¿actualizar, tal vez?mean = np.mean(a, axis=(0,2,3)) mean?saber que el tensor de entrada (a) tiene forma (lote, canal, ancho, alto)?Aquí hay una solución no numpy:
>>> a = [[40, 10], [50, 11]] >>> [float(sum(l))/len(l) for l in zip(*a)] [45.0, 10.5]fuente
Si haces esto mucho, NumPy es el camino a seguir.
Si por alguna razón no puede usar NumPy:
>>> map(lambda x:sum(x)/float(len(x)), zip(*a)) [45.0, 10.5]fuente