Numpy array 横向分割、纵向分割、等量分割、非等量分割
创建数据
1 2 3 4 5 6 7 8 9 10 11
| import numpy as np
A = np.arange(12).reshape((3, 4))
""" array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) """
print(A)
|
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
纵向分割
1 2 3 4 5 6 7 8
| print(np.split(A, 2, axis=1)) """ [array([[0, 1], [4, 5], [8, 9]]), array([[ 2, 3], [ 6, 7], [10, 11]])] """
|
横向分割
1 2 3
| print(np.split(A, 3, axis=0))
|
不等量的分割
在机器学习时经常会需要将数据做不等量的分割,因此解决办法为np.array_split()
1 2 3 4 5 6 7 8 9 10
| print(np.array_split(A, 3, axis=1)) """ [array([[0, 1], [4, 5], [8, 9]]), array([[ 2], [ 6], [10]]), array([[ 3], [ 7], [11]])] """
|
成功将Array不等量分割!
其他的分割方式
在Numpy里还有np.vsplit()
与横np.hsplit()
方式可用。
1 2 3 4 5 6 7 8 9 10 11 12 13
| print(np.vsplit(A, 3))
print(np.hsplit(A, 2)) """ [array([[0, 1], [4, 5], [8, 9]]), array([[ 2, 3], [ 6, 7], [10, 11]])] """
|
Reference
Checking if Disqus is accessible...