美文网首页我爱编程
Python—Numpy学习笔记(六)array的合并

Python—Numpy学习笔记(六)array的合并

作者: Yao_0 | 来源:发表于2017-07-16 16:47 被阅读0次

    注:本系类笔记采用的是Python3.5X版本,编程环境为Windows64位下的Anaconda
    所有代码部分均为连续的,“结果”为在jupyter分步运行结果

    代码部分:

    import numpy as np
    
    arr1 = np.array([1,2,3])
    arr2 = np.array([4,5,6])
    arr3 = np.vstack((arr1,arr2))#垂直合并
    print(arr3)
    print(arr3.shape)
    

    结果:(arr3编程一个二位矩阵)
    [[1 2 3]
    [4 5 6]]
    (2, 3)

    arr4 = np.hstack((arr1,arr2))#水平合并
    print(arr4)
    print(arr4.shape)
    

    结果:
    [1 2 3 4 5 6]
    (6,)

    arrv = np.vstack((arr1,arr2,arr3))#多个一起合并
    print(arrv)
    

    结果:
    [[1 2 3]
    [4 5 6]
    [1 2 3]
    [4 5 6]]

    arrh = np.hstack((arr1,arr2,arr4))
    print(arrh)
    

    结果:
    [1 2 3 4 5 6 1 2 3 4 5 6]

    ————————————————————————
    以下是另外一种合并方式

    arr = np.concatenate((arr1,arr2,arr1))
    print(arr)
    

    结果:
    [1 2 3 4 5 6 1 2 3]

    arr = np.concatenate((arr3,arrv),axis=0)#合并的array维度要相同,array形状要匹配,axis=0纵向合并(垂直)
    print(arr)
    

    结果:
    [[1 2 3]
    [4 5 6]
    [1 2 3]
    [4 5 6]
    [1 2 3]
    [4 5 6]]

    arr = np.concatenate((arr3,arr3),axis=1)#合并的array维度要相同,array形状要匹配,axis=1横向合并
    print(arr)
    

    结果:
    [[1 2 3 1 2 3]
    [4 5 6 4 5 6]]

    ————————————————————————————
    以下是一维arry的性质

    arr1.T 
    print(arr1.T) #一维的array不能转置
    

    结果:
    [1 2 3]

    print(arr1.shape)
    

    结果:
    (3,)

    arr1_1 = arr1[np.newaxis,:]#给一维数组的行加一个维度
    print(arr1_1)
    print(arr1_1.shape)
    

    结果:
    [[1 2 3]]
    (1, 3)

    print(arr1_1.T)
    

    结果:
    [[1]
    [2]
    [3]]

    arr1_2 = arr1[:,np.newaxis]给一维数组的列加一个维度
    print(arr1_2)
    print(arr1_2.shape)
    

    结果:
    [[1]
    [2]
    [3]]
    (3, 1)

    arr1_3 = np.atleast_2d(arr1)
    #判断arr1,如果小于2维,则变为2维数据,高维不影响
    #还有atleast_3d同理,变三维
    print(arr1_3)
    print(arr1_3.T)
    

    结果:
    [[1 2 3]]
    [[1]
    [2]
    [3]]

    相关文章

      网友评论

        本文标题:Python—Numpy学习笔记(六)array的合并

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