我有一个 4 维 numpy 数组 shape (N, N, Q, Q)
。所以给定一个行和列的索引(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
,目前被卡住了。我认为这很容易做到,只是我还没有弄清楚。