Python 如何对numpy数组应用bockwise转置
我知道这个问题很基本,但我正在寻找最好的方法。我的问题是,我们如何将numpy阵列重塑为所附图片中的垂直箭头Python 如何对numpy数组应用bockwise转置,python,numpy,Python,Numpy,我知道这个问题很基本,但我正在寻找最好的方法。我的问题是,我们如何将numpy阵列重塑为所附图片中的垂直箭头 最后,我想把一个120*64*200改成1200*64*20 我想你在寻找: n_blocks = 2 b = np.concatenate(np.split(a, n_blocks, axis=1), axis=0) 基本上,您希望将阵列拆分为块,并将块连接到新轴上。我想您正在寻找: n_blocks = 2 b = np.concatenate(np.split(a, n_bloc
最后,我想把一个120*64*200改成1200*64*20 我想你在寻找:
n_blocks = 2
b = np.concatenate(np.split(a, n_blocks, axis=1), axis=0)
基本上,您希望将阵列拆分为块,并将块连接到新轴上。我想您正在寻找:
n_blocks = 2
b = np.concatenate(np.split(a, n_blocks, axis=1), axis=0)
基本上,您希望将阵列拆分为块,并将块连接到新轴上。您也可以使用
第一次重塑后,内容将为:
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]
[[13 14 15]
[16 17 18]]]
使用神奇的转置,您将获得:
[[[ 1 2 3]
[ 7 8 9]
[13 14 15]]
[[ 4 5 6]
[10 11 12]
[16 17 18]]]
然后再重新塑造为2d
通过方法链接,我们可以组合成一条语句,如:
arr.reshape(3, 2, -1).transpose(1, 0, 2).reshape(-1, 3)
你也可以用它来做
第一次重塑后,内容将为:
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]
[[13 14 15]
[16 17 18]]]
使用神奇的转置,您将获得:
[[[ 1 2 3]
[ 7 8 9]
[13 14 15]]
[[ 4 5 6]
[10 11 12]
[16 17 18]]]
然后再重新塑造为2d
通过方法链接,我们可以组合成一条语句,如:
arr.reshape(3, 2, -1).transpose(1, 0, 2).reshape(-1, 3)
转置也是可能的我的第一本能是把它改成120,64,10,20或120,64,20,10。然后转置/交换轴以生成120、10、64、20,最后重塑为1200、65、20。重塑和替换选项将影响最终布局。我的第一反应是将其重塑为120、64、10、20或120、64、20、10。然后转置/交换轴以生成120、10、64、20,最后重塑为1200、65、20。重塑和交换备选方案将影响最终布局。