NumPy数组可以进行水平、垂直直或深度分割,相关的函数有np.hsplit、np.vsplit、np.dsplit和np.split。我们可以将数组分 成相同大小的子数组,也可以指定原数组中需要分割的位置。
(1)水平分割——np.hsplit()
In [2]: a = np.arange(9).reshape(3, 3)
In [3]: a
Out[3]:
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
In [5]: np.hsplit(a, 3)
Out[5]:
[array([[0],
[3],
[6]]), array([[1],
[4],
[7]]), array([[2],
[5],
[8]])]
In [6]: np.split(a, 3, axis=1)
Out[6]:
[array([[0],
[3],
[6]]), array([[1],
[4],
[7]]), array([[2],
[5],
[8]])]
即axis=1时,np.hsplit()==np.split()
(3,3)变为(3,1)
(2)垂直分割——np.vsplit()
In [3]: a
Out[3]:
array([[0, 1, 2],