首页 > 解决方案 > 展平数组中的所有子数组

问题描述

我有一个X形状(2 , 2 , 3)像这样的numpy数组:

X = [[[1 , 2 , 3 ] 
       [4 , 5 , 6]] , 
     
      [[7 , 8 , 9 ] 
       [10, 11, 12 ]],

我想展平所有子数组并将 X 变成 (2 , 6) 的形状,如下所示:

X = [[ 1 , 2 , 3 , 4, 5 , 6 ] ,
     [ 7 , 8 , 9 , 10, 11 , 12 ] ]

但是当我使用X.flatten()的时候,结果是这样的:

X = [ 1 , 2, 3, 4 , 5, ... , 12]

是否有任何功能可以帮助我按照我的意思转换数组。

标签: pythonnumpyflatten

解决方案


只是reshape……

import numpy as np

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


arr.reshape(2, 6)

结果:

array([[ 1,  2,  3,  4,  5,  6],
       [ 7,  8,  9, 10, 11, 12]])

推荐阅读