python中reshape重组数据方式
方法numpy.reshape()是怎么进行数据重新定义shape?
先生成一个随机数组
reshape成5行3列,可以看到是把(5,3)中第一行的剩余两列数据作为第二行的前两列,以此类推
reshape成一列,其中(-1,1)也可以是任意列,当然这里只能是1、3、5列。看到实现方式是按行来循环,从第一列到最后一列。
最后,再reshape(-1,3),可以看到实现方式是按顺序取,每次取多少列的数据,再顺序排放。
对于多维数组,同样的
b=np.random.random((2,3,4,5))
c=b[:,:,:,0].reshape(-1,1)
得到,