reshape是对array重新塑型,但是今天看别人代码出现了np.reshape(z,[-1])这种参数,仔细看下。
按照引用的例子:https://blog.youkuaiyun.com/weixin_39449570/article/details/78619196
>>> z = np.array([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],[13, 14, 15, 16]])
>>> print(z)
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]
[13 14 15 16]]
>>> print(z.shape)
(4, 4)
>>> print(z.reshape(-1))
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
>>> print(z.reshape(-1,1)) #我们不知道z的shape属性是多少,
#但是想让z变成只有一列,行数不知道多少,
#通过`z.reshape(-1,1)`,Numpy自动计算出有16行,
#新的数组shape属性为(16, 1),与原来的(4, 4)配套。
[[ 1]
[ 2]
[ 3]
[ 4]
[ 5]
[ 6]
[ 7]
[ 8]
[ 9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]]
>>> print(z.reshape(2,-1))
[[ 1 2 3 4 5 6 7 8]
[ 9 10 11 12 13 14 15 16]]
自己写的例子:

numpy的reshape函数用于改变数组形状,当使用-1作为参数时,它会自动推断缺失的维度大小。例如,[1, 2]的shape是(2,),[[1], [2]]的shape是(2, 1)。在reshape中指定-1,能自动计算出数组的另一个维度,以便总元素数量保持不变。"
118082171,3210775,MySQL主从同步配置与备份指南,"['数据库', 'MySQL', '主从复制', '备份', '配置']
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



