目录

NumPy创建各种类型、结构数组的快捷方法

目录

http://image.catbro.cn/a70486b0aa024.blob

创建数组

  • 创建一维数组 »> import numpy as np »> a = np.array([2,3,4]) »> a array([2, 3, 4]) »> a.dtype dtype(‘int64’) »> b = np.array([1.2, 3.5, 5.1]) »> b.dtype dtype(‘float64’)

  • 数组将序列序列转换为二维数组,将序列序列转换为三维数组,等等。

    >>> b = np.array([(1.5,2,3), (4,5,6)])
    >>> b
    array([[ 1.5,  2. ,  3. ],
           [ 4. ,  5. ,  6. ]])
    
  • 创建时显式指定数组的类型

    >>> c = np.array( [ [1,2], [3,4] ], dtype=complex )
    >>> c
    array([[ 1.+0.j,  2.+0.j],
           [ 3.+0.j,  4.+0.j]])
    
  • 创建初始值为0的数组

    >>> np.zeros( (3,4) )
    array([[ 0.,  0.,  0.,  0.],
           [ 0.,  0.,  0.,  0.],
           [ 0.,  0.,  0.,  0.]])
    
  • 创建初始值为1的数组

    >>> np.ones( (2,3,4), dtype=np.int16 )                # dtype can also be specified
    array([[[ 1, 1, 1, 1],
            [ 1, 1, 1, 1],
            [ 1, 1, 1, 1]],
           [[ 1, 1, 1, 1],
            [ 1, 1, 1, 1],
            [ 1, 1, 1, 1]]], dtype=int16)
    
  • 创建未初始化的数组

    >>> np.empty( (2,3) )                                 # uninitialized, output may vary
    array([[  3.73603959e-262,   6.02658058e-154,   6.55490914e-260],
           [  5.30498948e-313,   3.14673309e-307,   1.00000000e+000]])
    
  • 创建序列数组

    >>> np.arange( 10, 30, 5 ) # 从10 开始,步长为5
    array([10, 15, 20, 25])
    >>> np.arange( 0, 2, 0.3 )                 # it accepts float arguments
    array([ 0. ,  0.3,  0.6,  0.9,  1.2,  1.5,  1.8])   
    
  • 给定数组长度、开始和结束的值,自动创建数组

    >>> from numpy import pi
    >>> np.linspace( 0, 2, 9 )                 # 9 numbers from 0 to 2
    array([ 0.  ,  0.25,  0.5 ,  0.75,  1.  ,  1.25,  1.5 ,  1.75,  2.  ])
    >>> x = np.linspace( 0, 2*pi, 100 )        # useful to evaluate function at lots of points
    >>> f = np.sin(x)