我有以下数组:
x = np.arange(24).reshape((2,3,2,2))
array([[[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11]]],
[[[12, 13],
[14, 15]],
[[16, 17],
[18, 19]],
[[20, 21],
[22, 23]]]])
我想将它 reshape 为 (3,4,2) 数组,如下所示:
array([[[ 0, 1],
[ 2, 3],
[12, 13],
[14, 15]],
[[ 4, 5],
[ 6, 7],
[16, 17],
[18, 19]],
[[ 8, 9],
[10, 11],
[20, 21],
[22, 23]]])
我试过使用 reshape,但它给了我以下结果,这不是我想要的。
array([[[ 0, 1],
[ 2, 3],
[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11],
[12, 13],
[14, 15]],
[[16, 17],
[18, 19],
[20, 21],
[22, 23]]])
有人可以帮忙吗?
最佳答案
像这样使用transpose
然后reshape
-
shp = x.shape
out = x.transpose(1,0,2,3).reshape(shp[1],-1,shp[-1])
关于python - Numpy:沿指定轴 reshape 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38929531/