美文网首页程序员
Numpy reshape 中 -1 的意义

Numpy reshape 中 -1 的意义

作者: 数科每日 | 来源:发表于2021-01-21 10:32 被阅读0次

Numpy reshape 允许在一个维度上使用 -1, 意思是 “unknown” 。 numpy reshape 的一个假设是新旧 shape 所包含的数据相等, 所以当其他维度已知, 总数据量已知的情况下, numpy 就可以推断出剩余一个维度的信息。

如下例, reshape 允许一个维度为 -1

z = np.array([[1, 2, 3, 4],
         [5, 6, 7, 8],
         [9, 10, 11, 12]])
z.shape
(3, 4)
--------------------------------------------------------
z.reshape(-1)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
--------------------------------------------------------
z.reshape(-1, 2)
array([[ 1,  2],
   [ 3,  4],
   [ 5,  6],
   [ 7,  8],
   [ 9, 10],
   [11, 12]])

但是 numpy 不允许2个维度为-1, 因为这样就无法做出准确的推断了。

z.reshape(-1, -1)
ValueError: can only specify one unknown dimension

相关文章

网友评论

    本文标题:Numpy reshape 中 -1 的意义

    本文链接:https://www.haomeiwen.com/subject/vjtzaktx.html