美文网首页
Numpy的array合并

Numpy的array合并

作者: 李小夭 | 来源:发表于2019-07-20 07:54 被阅读0次
    import numpy as np
    A = np.array([1,1,1])
    B = np.array([2,2,2])
    

    vstack:vertical stack 上下合并

    A和B均为3个元素的序列,上下合并后C为2行3列的矩阵

    C = np.vstack((A,B))
    print(C)
    print(A.shape,C.shape)
    
    [[1 1 1]
     [2 2 2]]
    (3,) (2, 3)
    

    hstack:horizontal stack 左右合并

    A和B均为3个元素的序列,左右合并后D为6个元素的序列

    D = np.hstack((A,B))
    print(D)
    print(A.shape,D.shape)
    
    [1 1 1 2 2 2]
    (3,) (6,)
    

    将原来的横向序列变成纵向序列后再进行合并

    1. 尝试T行列转置,结果发现对于一维序列无效
    print(A)
    print(A.T)
    
    [1 1 1]
    [1 1 1]
    
    1. 用reshape更改序列形状有效
    print(A)
    print(A.reshape(3,1))
    
    [1 1 1]
    [[1]
     [1]
     [1]]
    

    使用reshape改变序列形状后进行合并

    # 改变序列形状
    A = np.array([1,1,1]).reshape(3,1)
    B = np.array([2,2,2]).reshape(3,1)
    print(A)
    print(B)
    
    [[1]
     [1]
     [1]]
    [[2]
     [2]
     [2]]
    
    # 合并
    C = np.hstack((A,B))
    print(C)
    
    [[1 2]
     [1 2]
     [1 2]]
    

    用concatenate进行横向和纵向的array合并

    axis = 0 上下合并

    C = np.concatenate((A,B),axis = 0)
    print(C)
    
    [[1]
     [1]
     [1]
     [2]
     [2]
     [2]]
    

    axis = 1 左右合并

    C = np.concatenate((A,B),axis = 1)
    print(C)
    
    [[1 2]
     [1 2]
     [1 2]]
    

    Numpy学习教程来源请戳这里

    相关文章

      网友评论

          本文标题:Numpy的array合并

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