使用numpy重塑多维数组

时间:2019-07-21 23:27:16

标签: python numpy

我已经被卡住了一段时间了。我有一个np.array的{​​{1}}(x,y,z),我想做成np.shape(y,x,z)的数组。我很难理解np.shape的执行顺序。例如,我希望这些值按其索引在第二个维度中进行分组,而不是在第一维度上。

例如,使用np.reshape(3、2、9)数组:

np.shape

我希望[[[-25 -25 15 -26 -26 0 -26 -26 3] [ -8 -2 0 -21 -9 39 -14 -11 2]] [[-25 2 18 -26 -10 10 -26 -15 14] [ -8 -2 0 -21 -9 39 -14 -11 2]] [[-25 2 18 -26 -10 14 -26 -15 5] [ -8 -2 3 -21 -9 18 -14 -11 3]]] (2,3,9)的输出为:

np.shape

不是:

[[[-25 -25  15 -26 -26   0 -26 -26   3]
  [-25   2  18 -26 -10  10 -26 -15  14]
  [-25   2  18 -26 -10  14 -26 -15   5]]

 [[ -8  -2   0 -21  -9  39 -14 -11   2]
  [ -8  -2   0 -21  -9  39 -14 -11   2]
  [ -8  -2   3 -21  -9  18 -14 -11   3]]]

我知道这是基本的numpy,但到目前为止[[[-25 -25 15 -26 -26 0 -26 -26 3] [ -8 -2 0 -21 -9 39 -14 -11 2] [-25 2 18 -26 -10 10 -26 -15 14]] [[ -8 -2 0 -21 -9 39 -14 -11 2] [-25 2 18 -26 -10 14 -26 -15 5] [ -8 -2 3 -21 -9 18 -14 -11 3]]] order='F'等的每种组合都给我带来不了运气。感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找的是swapaxes

np.swapaxes(x,0,1) #x is your array