zoukankan      html  css  js  c++  java
  • numpy自动生成数组

    1 np.arange(),类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组,注意该函数和range一样结果不包含终值。

    >>> np.arange(10)
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    >>> np.arange(0,1,0.1)
    array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])
    >>> 
    

    2 np.linspace()函数,与上面np.arange不同的是,该函数第三个参数指定的是元素个数,它表示给定起始值和终点值以及元素个数,生成一个一维的等差数列。含有参数endpoint布尔值,默认为True表示包含终值,设定为False表示不包含终值。

    >>> np.linspace(0,1,10)
    array([ 0.        ,  0.11111111,  0.22222222,  0.33333333,  0.44444444,
            0.55555556,  0.66666667,  0.77777778,  0.88888889,  1.        ])
    >>> np.linspace(0,1,10,endpoint = False)
    array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])
    

    3 np.logspace,该函数与np.linspace类似,不过它生成的数组是等比数列,基数默认为10

    >>> np.logspace(0,4,5)
    array([  1.00000000e+00,   1.00000000e+01,   1.00000000e+02,
             1.00000000e+03,   1.00000000e+04])
    

     但是基数也可以改变,例如将基数base = 2,如下:

    >>> np.logspace(0,3,5,base = 2)
    array([ 1. , 1.68179283, 2.82842712, 4.75682846, 8. ])

    上面表示,起点为2^0 = 1,终点为2^3 = 8,一共按照等比数列生成5个点,这样公比q = 2^(3/4)

    4. np.zeros(),np.ones(),np.empty()可以创建指定的形状和类型数组,其中np.enpty()只分配数组所使用的内存,不对数据初始化起作用。

    >>> np.empty((2,3),np.int32)
    array([[ 8078112, 37431728,  8078112],
           [47828800, 47828712,       10]])
    

    注意上面创建的2*3的数组并没有被初始化。

    >>> np.ones(4)
    array([ 1.,  1.,  1.,  1.])
    >>> np.ones((2,3))
    array([[ 1.,  1.,  1.],
           [ 1.,  1.,  1.]])
    >>> np.ones(4,dtype = np.bool)
    array([ True,  True,  True,  True], dtype=bool)
    >>> np.zeros(4,dtype = np.bool)
    array([False, False, False, False], dtype=bool)
    >>> np.zeros(4)
    array([ 0.,  0.,  0.,  0.])
    

    np.full()函数可以生成初始化为指定值的数组

    >> np.full(4,np.pi)
    array([ 3.14159265,  3.14159265,  3.14159265,  3.14159265])
    >>> np.full((2,3),np.pi)
    array([[ 3.14159265,  3.14159265,  3.14159265],
           [ 3.14159265,  3.14159265,  3.14159265]])
    

    此外np.zeros_like(),np.ones_like()等函数创建于参数形状相同的数组即np.zeros_like(a)与np.zeros(a.shape,dtype = a.type)相同

    >>> a = np.arange(10).reshape(2,5)
    >>> np.zeros_like(a)
    array([[0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0]])
    

    5 np.fromfunction(),它可以从指定的函数中生成数组,第一个参数是函数名称,第二个参数是数组形状。 

    >>> np.fromfunction(lambda a,b:a == b,(3,3))
    array([[ True, False, False],
           [False,  True, False],
           [False, False,  True]], dtype=bool)
    >>> np.fromfunction(lambda i:i%7 +1,(10,))
    array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  1.,  2.,  3.])
    
  • 相关阅读:
    docker 部署aps.net MVC到windows容器
    docker 搭建私有仓库 harbor
    解决关于:Oracle数据库 插入数据中文乱码 显示问号???
    ionic cordova build android error: commamd failed with exit code eacces
    cordova build android Command failed with exit code EACCES
    Xcode 10 iOS12 "A valid provisioning profile for this executable was not found
    使用remix发布部署 发币 智能合约
    区块链: 编译发布智能合约
    mac 下常用命令备忘录
    JQuery fullCalendar 时间差 排序获取距当前最近的时间。
  • 原文地址:https://www.cnblogs.com/td15980891505/p/6082858.html
Copyright © 2011-2022 走看看