zoukankan      html  css  js  c++  java
  • What does -1 mean in numpy reshape?

    The criterion to satisfy for providing the new shape is that 'The new shape should be compatible with the original shape'

    numpy allow us to give one of new shape parameter as -1 (eg: (2,-1) or (-1,3) but not (-1, -1)). It simply means that it is an unknown dimension and we want numpy to figure it out. And numpy will figure this by looking at the 'length of the array and remaining dimensions' and making sure it satisfies the above mentioned criteria

    Now see the example.

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

    Now trying to reshape with (-1) . Result new shape is (12,) and is compatible with original shape (3,4)

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

    Now trying to reshape with (-1, 1) . We have provided column as 1 but rows as unknown . So we get result new shape as (12, 1).again compatible with original shape(3,4)

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

    New shape as (-1, 2). row unknown, column 2. we get result new shape as (6, 2)

    z.reshape(-1, 2)
    array([[ 1,  2],
       [ 3,  4],
       [ 5,  6],
       [ 7,  8],
       [ 9, 10],
       [11, 12]])
  • 相关阅读:
    NIS详解
    Linux的硬链接和软链接有何区别?
    使用sed和cut将进程的pid过滤出来
    sticky(粘附位)的含义
    使用ulimit来产生core dump文件
    Linux常用shell脚本
    LFS5.0安装完成心得
    sshd + xinetd 限制IP登录
    Linux磁盘限额配置(Ext3)
    LFS安装手记
  • 原文地址:https://www.cnblogs.com/iamxyq/p/6683147.html
Copyright © 2011-2022 走看看