reshape可以用于numpy库里的ndarray和array结构以及pandas库里面的DataFrame和Series结构。
reshape用来更改数据的列数和行数
reshape(行,列)可以根据指定的数值将数据转换为特定的行数和列数;
那么reshape(1,-1)或者reshape(-1,1)进行转换是什么意思呢
s=np.arange(10) s.reshape(-1,1) ''' array([[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]) ''' s.reshape(1,-1) #array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
numpy库官网的介绍,这里的-1被理解为unspecified value,意思是未指定为给定的。如果我只需要特定的行数,列数多少我无所谓,我只需要指定行数,那么列数直接用-1代替就行了
所以-1在这里应该可以理解为一个正整数通配符,它代替任何整数
我们只需要关注非负的那个数据代表的行或者列是多少即可