美文网首页我爱编程
NumPy(索引、array合并与分割)

NumPy(索引、array合并与分割)

作者: 人机分离机 | 来源:发表于2017-12-04 12:12 被阅读0次

    一、Numpy索引

    1. 一维索引
    import numpy as np
    A = np.arange(3,15)
    # array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
             
    print(A[3])    # 6
    
    1. 二维索引
    A = np.arange(3,15).reshape((3,4))
    """
    array([[ 3,  4,  5,  6]
           [ 7,  8,  9, 10]
           [11, 12, 13, 14]])
    """
             
    print(A[2])         # [11 12 13 14]
    
    • 二维索引取值
    print(A[1][1])      # 8
    
    • 切片操作
      注:1:3表示对第2到第4进行切片输出(不包含第4)
    print(A[1, 1])      # 8
    print(A[1, 1:3])    # [8 9]
    

    二、array 合并

    1. np.vstack() 上下合并
    • vertical stack本身属于一种上下合并,即对括号中的两个整体进行对应操作。
    import numpy as np
    A = np.array([1,1,1])
    B = np.array([2,2,2])
             
    print(np.vstack((A,B)))    # vertical stack
    """
    [[1,1,1]
     [2,2,2]]
    """
    
    • 利用shape函数可以让我们很容易地知道A和C的属性,从打印出的结果来看,A仅仅是一个拥有3项元素的数组(数列),而合并后得到的C是一个2行3列的矩阵。
    C = np.vstack((A,B))      
    print(A.shape,C.shape)
    # (3,) (2,3)
    
    1. np.hstack() 左右合并
    D = np.hstack((A,B))       # horizontal stack
    
    print(D)
    # [1,1,1,2,2,2]
    
    print(A.shape,D.shape)
    # (3,) (6,)
    
    • 通过打印出的结果可以看出:D本身来源于A,B两个数列的左右合并,而且新生成的D本身也是一个含有6项元素的序列。

    相关文章

      网友评论

        本文标题:NumPy(索引、array合并与分割)

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