numpy中三维数组转变成二维数组

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,第二个为第二维元素的数目。那么就会对原来的所有元素进行一个平均分配得到一个二维数组。

posted @ 2017-10-10 21:11  樟樟22  阅读(31246)  评论(0编辑  收藏  举报