美文网首页程序员
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