reshape函数

首先,最基本的,比如

arr = [1,2,3,4,5,6,7,8,9] 一个一维的list,长度为9

现在,我想把arr变成一个3*3的矩阵,这就可以用的reshape了,两个方法,第一

arr.reshape(3,3)

这个很好理解,不多说,重点看第二个方法

arr.reshape(-1,3)

这样也可以把arr变成3*3的矩阵,这个-1代表的意思就是,我不知道可以分成多少行,但是我的需要是分成3列,多少行我不关心

最后,看一个实际的例子,在这个数据集里面

from sklearn.datasets import load_digits 一个图片的数据集

这个图像的表示方法是1797*64,表示1797张图片,每张图片用一行64个数表示,怎么把这一行的数据取出来呢?就是用的reshape这个函数

picture_data = data.reshape(-1,8,8,1)

-1表示不知道,两个8表示8行8列,1表示一维空间(彩色是在处理的时候是三维空间RGB),整短代码就是说,把179764这个矩阵,变换成88的不知道多少个的矩阵,这样后面就方便用CNN神经网络去处理了

你可能感兴趣的:(python)