Possiedo un array numpy di forma 4 dimensioni (N, N, Q, Q)
. Quindi, dato un indice di riga e colonna (i, j)
, mat[i,j]
è una matrice QxQ
. Voglio rimodellare questa matrice per modellare (N*Q, N*Q)
tale cheRimodella l'array di numpy 4d su array 2d preservando le posizioni degli array
array([[[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]]],
[[[ 8, 9],
[10, 11]],
[[12, 13],
[14, 15]]]])
va a
array([[ 0., 1., 4., 5.],
[ 2., 3., 6., 7.],
[ 8., 9., 12., 13.],
[ 10., 11., 14., 15.]])
Si può vedere che mat[0,0]
va a new_mat[0:2, 0:2]
. Attualmente mat.reshape(N*Q, N*Q)
prende mat[0,0]
a new_mat[0:4, 0]
(che è ciò che non voglio). Come posso usare reshape o rollaxis o qualcosa di simile per rimodellare questo array? Alla fine voglio tracciarlo con imshow
, sono attualmente bloccato. Immagino sia facile da fare, non l'ho ancora capito.