【转载】Python中reshape函数参数-1的意思?
https://blog.csdn.net/heifan2014/article/details/78729041
举几个例子或许就清楚了,有一个数组z,它的shape属性是(4, 4)
z=np.array([[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]])
z.shape
(4,4)
z.reshape(-1)
z.reshape(-1)
array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])
z.reshape(-1, 1)
也就是说,先前我们不知道z的shape属性是多少,但是想让z变成只有一列,行数不知道多少,通过`z.reshape(-1,1)`,Numpy自动计算出有12行,新的数组shape属性为(16, 1),与原来的(4, 4)配套。
z.reshape(-1,1)
array([[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9],
[10],
[11],
[12],
[13],
[14],
[15],
[16]])
z.reshape(-1, 2)
newshape等于-1,列数等于2,行数未知,reshape后的shape等于(8, 2)
z.reshape(-1,2)
array([[1,2],
[3,4],
[5,6],
[7,8],
[9,10],
[11,12],
[13,14],
[15,16]])
同理,只给定行数,newshape等于-1,Numpy也可以自动计算出新数组的列数。
---------------------本文来自 不负韶华T 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/heifan2014/article/details/78729041?utm_source=copy