Python numpy關於array的組合和分割
阿新 • • 發佈:2018-10-31
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]])]