Numpy array分割

1、纵向分割

>>> import numpy as np
>>> A = np.arange(12).reshape((3, 4))
>>> print(A)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

>>> print(np.split(A, 2, axis=1))#纵向分割
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]

2、横向分割

>>> print(np.split(A, 3, axis=0))
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]

>>> print(np.split(A, 3, axis=1))#错误分割范例
#范例的Array只有4列,只能等量对分,因此输入以上程序代码后Python就会报错。

3、不等量分割

>>> print(np.array_split(A, 3, axis=1))
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]

4、其他分割方式

>>> print(np.vsplit(A, 3)) #等于 print(np.split(A, 3, axis=0))
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
>>> print(np.hsplit(A, 2)) #等于 print(np.split(A, 2, axis=1))
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
原文地址:https://www.cnblogs.com/anhoo/p/9383558.html