重塑3d numpy数组

时间:2018-06-02 14:39:39

标签: python arrays numpy

我有以下3d numpy数组:

import numpy as np

foo = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]], [[9, 10], [11, 12]]])
print(foo)

[[[ 1  2]
  [ 3  4]]

 [[ 5  6]
  [ 7  8]]

 [[ 9 10]
  [11 12]]]

我想要做的是,以某种方式对其进行转换,新数组的第一维数组是从 foo 的第一维数组的相应行创建的:

[[[ 1  2]
  [ 5  6]
  [ 9 10]]

 [[ 3  4]
  [ 7  8]
  [11 12]]]

这是我目前的解决方案:

reshaped_arr = []
for i in range(foo.shape[1]):
    new_arr = []
    for arr in foo:
        new_arr.append(arr[i])

    reshaped_arr.append(new_arr)

reshaped_arr = np.array(reshaped_arr)

,但我想知道是否有一些"更清洁"这样做的方法(可能使用我不知道的一些numpy函数)。

0 个答案:

没有答案