python - Numpy:沿指定轴 reshape 数组

标签 python arrays numpy

我有以下数组:

x = np.arange(24).reshape((2,3,2,2))
array([[[[ 0,  1],
     [ 2,  3]],

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

    [[ 8,  9],
     [10, 11]]],


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

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

    [[20, 21],
     [22, 23]]]])

我想将它 reshape 为 (3,4,2) 数组,如下所示:

array([[[ 0,  1],
    [ 2,  3],
    [12, 13],
    [14, 15]],

   [[ 4,  5],
    [ 6,  7],
    [16, 17],
    [18, 19]],

   [[ 8,  9],
    [10, 11],
    [20, 21],
    [22, 23]]])

我试过使用 reshape,但它给了我以下结果,这不是我想要的。

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

   [[ 8,  9],
    [10, 11],
    [12, 13],
    [14, 15]],

   [[16, 17],
    [18, 19],
    [20, 21],
    [22, 23]]])

有人可以帮忙吗?

最佳答案

像这样使用transpose 然后reshape -

shp = x.shape
out = x.transpose(1,0,2,3).reshape(shp[1],-1,shp[-1])

关于python - Numpy:沿指定轴 reshape 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38929531/

相关文章:

python - “twistd”不是可识别的内部或外部命令

python - unicode 正则表达式匹配 - 如何搜索复选标记? ✓

javascript - Angular - array.push() 刷新页面

java - 将原始数组转换为装箱数组时如何减少强制转换次数

python - 改善 python numpy 代码的运行时间

python - 在 Bokeh 0.12 中为 Span 添加标签

Python imaplib 显示证书 key

javascript - 使用递归的重复排列 - JavaScript

python - Pytorch:无法在需要 grad 的变量上调用 numpy()。使用 var.detach().numpy() 代替

python - numpy中的数组切片