美文网首页
Numpy数组拼接和分裂

Numpy数组拼接和分裂

作者: 妈耶0000 | 来源:发表于2019-07-07 14:59 被阅读0次
    1.数组的拼接
    import numpy as np
    1.横着拼
    >> x = np.array([1,2,3])
    >> y = np.array([3,2,1])
    >> np.concatenate([x,y])
    array([1, 2, 3, 3, 2, 1])
    >> z = [99,99,99]
    >> print(np.concatenate([x,y,z]))
    [ 1  2  3  3  2  1 99 99 99]
    
    
    
    2.二维数组拼接,沿着第一个轴拼接
    >> grid = np.array([[1,2,3],[4,5,6]])
    >> np.concatenate([grid,grid])
    array([[1, 2, 3],
             [4, 5, 6],
             [1, 2, 3],
             [4, 5, 6]])
    
    
    
    3.二维数组拼接,沿着第二个轴拼接
    np.concatenate([grid,grid],axis = 1)
    >> array([[1, 2, 3, 1, 2, 3],
              [4, 5, 6, 4, 5, 6]])
    
    
    
    4.垂直拼接 vertically 垂直地 [ˈvɜrtɪkli]
    >> x = np.array([1,2,3])
    >> grid = np.array([[9,8,7],[6,5,4]])
    >> np.vstack([x,grid])
    array([[1, 2, 3],
           [9, 8, 7],
           [6, 5, 4]])
    
    
    
    5.水平拼接  horizontally  水平地  [ˌhɔːrɪˈzɑːntəli]
    >> grid = np.array([[9, 8, 7],
                     [6, 5, 4]])
    >> y = np.array([[99],[99]])
    >> np.hstack([grid,y])
    array([[ 9,  8,  7, 99],
           [ 6,  5,  4, 99]])
    
    
    
    
    2. 数组的分裂

    与拼接的过程相反,可以通过np.split、np.hsplit、np.vsplit

    >> x = [1,2,3,99,99,3,2,1]
    >> x1,x2,x3 = np.split(x,[3,5])
    array([1, 2, 3]), array([99, 99]), array([3, 2, 1])
    
    >> grid = np.arange(16).reshape(4,4)
    >> upper,lower = np.vsplit(grid,[2])
    
    array([[0, 1, 2, 3],
            [4, 5, 6, 7]])
    array([[ 8,  9, 10, 11],
            [12, 13, 14, 15]])
    
    
    >> left,right = np.hsplit(grid,[2])
    array([[ 0,  1],
            [ 4,  5],
            [ 8,  9],
            [12, 13]])
    array([[ 2,  3],
            [ 6,  7],
            [10, 11],
            [14, 15]])
    
    

    相关文章

      网友评论

          本文标题:Numpy数组拼接和分裂

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