Possiedo un array a 3 assi Numpy i cui elementi sono tridimensionali. Mi piacerebbe fare una media e restituire la stessa forma della matrice. La funzione di media normale rimuove le 3 dimensioni e sostituirlo con la media (come previsto):array numpy medio ma mantiene 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]]
risultato richiesto:
# 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]]]
Puoi farlo con eleganza o fare mi resta che iterare sopra l'array in Python (che sarà molto più lento rispetto a una potente funzione Numpy).
È possibile impostare l'argomento Dtype, per la funzione np.mean, su un array 1D?
Grazie.
Grande appassionato di ciò che si vuole vedere nella questione. – lukecampbell
Nella maggior parte dei casi posso immaginare, la trasmissione lo farà senza richiedere array 3d. – tillsten