我有一个形状为(N, N, Q, Q)
的4维numpy数组。因此,给定行和列索引(i, j)
,mat[i,j]
是一个QxQ
矩阵。我想将此数组重新形状为(N*Q, N*Q)
,使其满足以下条件:
array([[[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]]],
[[[ 8, 9],
[10, 11]],
[[12, 13],
[14, 15]]]])
转到
array([[ 0., 1., 4., 5.],
[ 2., 3., 6., 7.],
[ 8., 9., 12., 13.],
[ 10., 11., 14., 15.]])
你可以看到
mat[0,0]
变成了new_mat[0:2, 0:2]
。目前mat.reshape(N*Q, N*Q)
将mat[0,0]
变成了new_mat[0:4, 0]
(这不是我想要的)。我该如何使用reshape或rollaxis或类似的方法来重新调整这个数组?我最终想用imshow
来绘制它,但目前卡住了。我觉得这很容易做到,只是我还没有弄清楚。