numpy中reshape()函数对三维数组进行转换成二维数组,见下面例子:

复制代码

 1 >>>a=np.reshape(np.arange(18),(3,3,2))
 2 >>> a
 3 array([[[ 0,  1],
 4         [ 2,  3],
 5         [ 4,  5]],
 6 
 7        [[ 6,  7],
 8         [ 8,  9],
 9         [10, 11]],
10 
11        [[12, 13],
12         [14, 15],
13         [16, 17]]])
14 >>>a=reshape(a,(-1,3))
15 >>>a
16 array([[ 0,  1,  2],
17        [ 3,  4,  5],
18        [ 6,  7,  8],
19        [ 9, 10, 11],
20        [12, 13, 14],
21        [15, 16, 17]])
22 
23 >>>a=np.reshape(np.arange(18),(2,3,3))
24 >>>a
25 array([[[ 0,  1,  2],
26         [ 3,  4,  5],
27         [ 6,  7,  8]],
28 
29        [[ 9, 10, 11],
30         [12, 13, 14],
31         [15, 16, 17]]])
32 >>>a=np.reshape(a,(-1,3))
33 >>>array([[ 0,  1,  2],
34        [ 3,  4,  5],
35        [ 6,  7,  8],
36        [ 9, 10, 11],
37        [12, 13, 14],
38        [15, 16, 17]])

复制代码

易见,对reshape()里面的数组形状第一个为-1,第二个为第二维元素的数目。那么就会对原来的所有元素进行一个平均分配得到一个二维数组。

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐