numpy中reshape()函数对三维数组进行转换成二维数组,见下面例子:
1 >>>a=np.reshape(np.arange(18),(3,3,2))2 >>>a3 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 >>>a16 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 >>>a25 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,第二个为第二维元素的数目。那么就会对原来的所有元素进行一个平均分配得到一个二维数组。