numpy 数组中的一些代码结果:
array([[2, 2, 1, 0, 4, 2, 3, 3]])
我想从中恢复:
array([ [[2, 1],
[4, 3]],
[[2, 0],
[2, 3]] ])
即:将跳跃元素放入两个矩阵中。
然而,后见之明和传统重塑的结合阻碍了我。请告知如何针对任意数量的最终矩阵(在玩具示例中为 2)及其尺寸(始终彼此相等;在玩具示例中为 2x2)实现这一点。
我尝试过但失败了
reshape(2,2,2,1)
这导致了可怕的:
array([[[[2],
[2]],
[[1],
[0]]],
[[[4],
[2]],
[[3],
[3]]]])
In [195]: arr = np.array([[2, 2, 1, 0, 4, 2, 3, 3]])
In [196]: arr.reshape(2,2,2)
Out[196]:
array([[[2, 2],
[1, 0]],
[[4, 2],
[3, 3]]])
转置的第一个猜测 -
In [197]: arr.reshape(2,2,2).transpose(2,1,0)
Out[197]:
array([[[2, 4],
[1, 3]],
[[2, 2],
[0, 3]]])
不完全是,切换最后两个维度更正:
In [198]: arr.reshape(2,2,2).transpose(2,0,1)
Out[198]:
array([[[2, 1],
[4, 3]],
[[2, 0],
[2, 3]]])