Python Numpy重塑/重新打包?

Python Numpy重塑/重新打包?,python,numpy,Python,Numpy,假设我有一个2 x 8 x 3的数组,如下所示: array([[[ 0, 1, 2], [ 1, 2, 3], [ 2, 3, 4], [ 3, 4, 5], [ 4, 5, 6], [ 5, 6, 7], [ 6, 7, 8], [ 7, 8, 9]], [[10, 11, 12], [11, 12, 13], [12, 13, 14], [13, 14, 15],

假设我有一个2 x 8 x 3的数组,如下所示:

array([[[ 0,  1,  2],
    [ 1,  2,  3],
    [ 2,  3,  4],
    [ 3,  4,  5],
    [ 4,  5,  6],
    [ 5,  6,  7],
    [ 6,  7,  8],
    [ 7,  8,  9]],

   [[10, 11, 12],
    [11, 12, 13],
    [12, 13, 14],
    [13, 14, 15],
    [14, 15, 16],
    [15, 16, 17],
    [16, 17, 18],
    [17, 18, 19]]])
我如何重塑它,使其成为一个8 x 2 x 3的阵列,其中包含以下元素:

[[[ 0,  1,  2],
  [10, 11, 12]],
 [[ 1,  2,  3],
  [11, 12, 13]],
...
重塑(8,2,3)
给出了以下结果,这不是我想要的:

array([[[ 0,  1,  2],
    [ 1,  2,  3]],

   [[ 2,  3,  4],
    [ 3,  4,  5]],

   [[ 4,  5,  6],
    [ 5,  6,  7]],

   [[ 6,  7,  8],
    [ 7,  8,  9]],

   [[10, 11, 12],
    [11, 12, 13]],

   [[12, 13, 14],
    [13, 14, 15]],

   [[14, 15, 16],
    [15, 16, 17]],

   [[16, 17, 18],
    [17, 18, 19]]])

如果它适用于一般的第二维度(不仅仅是m=2),则更好。谢谢大家!

交换前两个轴

np.swapaxes(a,0,1)
np.swapaxes(a,0,1)
Yes!上帝,这么简单:)想写一个答案,这样我就可以开始了吗?