Tengo una matriz Numpy de 3 ejes cuyos elementos son tridimensionales. Me gustaría promediarlos y devolver la misma forma de la matriz. La función normal promedio elimina las 3 dimensiones y sustituirla por la media (como se esperaba):matriz numpy promedio pero conserva la forma
a = np.array([[[0.1, 0.2, 0.3], [0.2, 0.3, 0.4]],
[[0.4, 0.4, 0.4], [0.7, 0.6, 0.8]]], np.float32)
b = np.average(a, axis=2)
# b = [[0.2, 0.3],
# [0.4, 0.7]]
resultado requerido:
# b = [[[0.2, 0.2, 0.2], [0.3, 0.3, 0.3]],
# [[0.4, 0.4, 0.4], [0.7, 0.7, 0.7]]]
Se puede hacer esto con elegancia o hacerlo sólo tengo que repetir sobre la matriz en Python (que será mucho más lenta en comparación con una poderosa función Numpy).
¿Se puede establecer el argumento Dtype, para la función np.mean, en una matriz 1D quizás?
Gracias.
gran fan de lo que quiere ver en la cuestión. – lukecampbell
En la mayoría de los casos que puedo imaginar, la radiodifusión lo hará sin requerir una matriz 3D. – tillsten