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]])]

猜你喜欢

转载自www.cnblogs.com/waterlemon/p/9885915.html