Splitting Numpy arrays:
Horizontal splitting:
The following code splits a 3*3 array on its horizontal axis into three parts of the same size and shape:
In [26]: np.hsplit(a,3)
Out[26]:
[array([[0],
[3],
[6]]),
array([[1],
[4],
[7]]),
array([[2],
[5],
[8]])]
Liken it with a call of the split() function,with an additional argument,axis=1:
In [27]: np.split(a,3,axis=1)
Out[27]:
[array([[0],
[3],
[6]]),
array([[1],
[4],
[7]]),
array([[2],
[5],
[8]])]
Vertical splitting:
vsplit() splits along the vertical axis:
In [30]: np.vsplit(a,3)
Out[30]: [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
The split() function,with axis=0,also splits along the vertical axis:
In [31]: np.split(a,3,axis=0)
Out[31]: [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
Depth-wise splitting:
The dsplit() function,unsurprisingly,splits depth-wise.We will require an array of rank 3 to begin with:
In [33]: c = np.arange(27).reshape(3,3,3)
In [34]: c
Out[34]:
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
In [35]: np.dsplit(c,3)
Out[35]:
[array([[[ 0],
[ 3],
[ 6]],
[[ 9],
[12],
[15]],
[[18],
[21],
[24]]]), array([[[ 1],
[ 4],
[ 7]],
[[10],
[13],
[16]],
[[19],
[22],
[25]]]), array([[[ 2],
[ 5],
[ 8]],
[[11],
[14],
[17]],
[[20],
[23],
[26]]])]
numpy 学习4
最新推荐文章于 2023-03-10 09:24:22 发布