我有一个 numpy 数组:
y = np.array([[[14,15,16],[24,25,26],[34,35,36],[44,45,46]],
[[11,21,31],[12,22,32],[13,23,33],[14,24,34]]])
y 的形状为 (2,4,3) 我想将其 reshape 为 (4,3,2),例如:
[[[14,11],[15,21],[16,31]],
[[24,12],[25,22],[26,32]],
[[34,13],[35,23],[36,33]],
[[44,14],[45,24],[46,34]]]
我尝试使用y.reshape(4,3,2))
,但结果不是我想要的。
最佳答案
您可以使用numpy.moveaxis()
:
y = np.moveaxis(y,0,2)
你会得到:
array([[[14, 11],
[15, 21],
[16, 31]],
[[24, 12],
[25, 22],
[26, 32]],
[[34, 13],
[35, 23],
[36, 33]],
[[44, 14],
[45, 24],
[46, 34]]])
关于python - 如何 reshape 具有不同维度的 3d 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56364676/