Python numpy关于array的组合和分割

numpy 使用array()来创建数组或者矩阵

a = numpy.array([1, 2, 3])
a = numpy.arange(9).reshape(3, 3)

下面基于array来谈谈对数组形式止的一些操作

数组的组合

首先新建一些数组

a = numpy.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])
b = numpy.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])
  • 对a, b横向组合拼接

    numpy.hstack((a, b))
    
    >>> array([[0, 1, 2, 0, 1, 2],
           [3, 4, 5, 3, 4, 5],
           [6, 7, 8, 6, 7, 8]])
    
    numpy.column_stack((a, b))
    
    >>> array([[0, 1, 2, 0, 1, 2],
           [3, 4, 5, 3, 4, 5],
           [6, 7, 8, 6, 7, 8]])
    
  • 对a, b纵向组合拼接

    numpy.vstack((a, b))
    
    >>> array([[0, 1, 2],
           [3, 4, 5],
           [6, 7, 8],
           [0, 1, 2],
           [3, 4, 5],
           [6, 7, 8]])
    
    numpy.row_stack((a, b))
    
    >>> array([[0, 1, 2],
           [3, 4, 5],
           [6, 7, 8],
           [0, 1, 2],
           [3, 4, 5],
           [6, 7, 8]])
    

数组的分割

  • 水平分割

    将a水平分割成3列

    numpy.hsplit(a, 3)
    
    >>> [array([[0],
            [3],
            [6]]), array([[1],
            [4],
            [7]]), array([[2],
            [5],
            [8]])]
    
  • 垂直分割

    将a垂直分割成3行

    numpy.vsplit(a, 3)
    
    >>> [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
    
posted @ 2018-10-31 21:03  waterlemon  阅读(5387)  评论(0编辑  收藏  举报