在python中操作3D数组

时间:2018-03-09 01:52:55

标签: python arrays numpy

作为免责声明,我对python和numpy数组很新。阅读一些类似问题的答案,并尝试他们的解决方案来获取我自己的数据并不是很有帮助,所以我想我只是发表自己的问题。例如,comparison of isURL regex。它完全可信,尽管我已经错误地实施了其他解决方案。

我有一个3D numpy数组" C"

C = np.reshape(np.arange(3*3*4),(3,3,4))
print(C)
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]

 [[24 25 26 27]
  [28 29 30 31]
  [32 33 34 35]]]

我想重塑一下像:

[0 12 14], [1,13,25], [2,24,26] ..... etc 

将3个数组中每个数组的第一个元素放入其自己的数组中,然后将每个数组的第二个元素放入一个新数组中,依此类推。

这似乎微不足道,但我很难过。我尝试过.reshape的不同类型组合,例如,

output=C.reshape(12,3)

我已尝试更改" C"到" F",玩弄不同的.reshape()参数,但似乎无法真正得到所需结构的最终结果

任何提示都会非常感激。

1 个答案:

答案 0 :(得分:2)

我认为这就是你想要的:

C = np.reshape(np.arange(3*3*4),(3,3,4))
C.reshape(3,12).T

array([[ 0, 12, 24],
       [ 1, 13, 25],
       [ 2, 14, 26],
       [ 3, 15, 27],
       [ 4, 16, 28],
       [ 5, 17, 29],
       [ 6, 18, 30],
       [ 7, 19, 31],
       [ 8, 20, 32],
       [ 9, 21, 33],
       [10, 22, 34],
       [11, 23, 35]])