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