如何重塑3D阵列

时间:2018-05-24 20:25:09

标签: python arrays numpy reshape

我是python世界的新人。我需要帮助解决问题。我需要重塑一个3D数组。 这是一个例子: 我有:

[[[ 1 16 31]
  [ 2 17 32]
  [ 3 18 33]
  [ 4 19 34]
  [ 5 20 35]]

 [[ 6 21 36]
  [ 7 22 37]
  [ 8 23 38]
  [ 9 24 39]
  [10 25 40]]

 [[11 26 41]
  [12 27 42]
  [13 28 43]
  [14 29 44]
  [15 30 45]]]

我需要重新塑造它:

[[[ 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]
 [36 37 38 39 40]
 [41 42 43 44 45]]]

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

使用爱因斯坦符号切换轴

np.einsum("ijk->kij", arr)

这是一个很好的介绍Einstein Summation in Numpy