numpy 的矩阵合并与分割

作者: Kkite | 来源:发表于2019-04-19 00:22 被阅读97次
    aiblog4.jpg

    这次分享下numpy中矩阵的合并与分割,希望能帮助到大家。

    在此附上视频链接

    一、引入numpy第三方库

    首先我们引入numpy这个第三方库,如果有同学没安装numpy可在命令行中pip install numpy进行安装(Mac用户 sudo pip3 install numpy)

    import numpy as np
    

    二、array的合并

    1.垂直合并

    A = np.array([1, 1, 1])
    B = np.array([2, 2, 2])
    print(np.vstack((A, B)))

    2.水平合并

    print(np.hstack((A, B)))
    C = np.array([1, 1, 1])[:, np.newaxis] # 纵向加一个维度,将array转为3行1列的矩阵
    D = np.array([2, 2, 2])[:, np.newaxis]
    E = np.concatenate((C, D, D, C), axis=1) # axis=1为水平合并, axis=0为垂直合并
    print(E)

    3.array的合并代码示例

    import numpy as np
    
    A = np.array([1,1,1])
    B = np.array([2,2,2])
    C = np.array([1, 1, 1])[:, np.newaxis]    # 纵向加一个维度,将array转为3行1列的矩阵
    D = np.array([2, 2, 2])[:, np.newaxis]
    print('打印A与B:')
    print(A)
    print(B)
    print('\n垂直合并:')
    print(np.vstack((A, B)))
    print('\n水平合并:')
    print(np.hstack((A, B)))
    print('\n水平合并,axis=1 为水平合并 反之为垂直合并:')
    E = np.concatenate((C,D,D,C),axis=1) 
    print(E)
    
    运行效果如下: numpy6.png

    三、矩阵的分割

    1.水平分割

    A = np.array(12).reshape((3, 4))
    print(np.split(A, 2, axis=1)) # 表示对A进行分割,分为两块,axis=1为水平分割
    print(np.hsplit(A, 2)) # 效果同上
    print(np.array_split(A, 3, axis=1)) # 不均等分割

    2.垂直分割

    print(np.split(A, 3, axis=0)) # 表示对A进行分割,分为3块,axis=0为垂直分割
    print(np.vsplit(A, 3)) # 效果同上
    print(np.array_split(A, 2, axis=0)) # 不均等分割

    3.矩阵分割代码示例

    import numpy as np
    
    A = np.arange(12).reshape((3,4))
    print('打印矩阵A:')
    print(A)
    print('\n水平分割为两块:')
    print(np.split(A, 2, axis=1))    # 表示对A进行分割,分为两块,axis=1为水平分割
    print('\n垂直分割为3块:')
    print(np.vsplit(A, 3)) # 不均等分割
    print('\n垂直不均等分割:')
    print(np.array_split(A, 2, axis=0))
    
    运行效果如下: numpy7.png

    好啦,以上就是这次对矩阵的合并与分割的一些方法。

    欢迎大家在下方评论与留言或者给出建议,如有错误请指出。希望这篇博文能帮助到刚学习这个的同学,也欢迎大家分享给需要的人。

    如需转载,请注明出处。

    相关文章

      网友评论

        本文标题:numpy 的矩阵合并与分割

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