Python中reshape函数参数-1的意思

匿名 (未验证) 提交于 2019-12-02 22:51:30

numpy.reshape(a, newshape, order='C')[source],参数`newshape`是啥意思?

大意是说,数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。

z = np.array([[1, 2, 3, 4],           [5, 6, 7, 8],           [9, 10, 11, 12],           [13, 14, 15, 16]])
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)
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]])  




作者:李彬
链接:https://www.zhihu.com/question/52684594/answer/157491724
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!