前言
numpy中数组的切分可以使用split函数、vsplit函数和hsplit函数;
其中split(arr,axis=0)是对竖向进行切分,等价于vsplit函数;
其中split(arr,axis=1)是对横向进行切分,等价于hsplit函数;
示例
import numpy as np
a=np.arange(12).reshape((3,4))
# 以下两个结果相同
print(np.split(a,2,axis =1)) #对列进行操作
print(np.hsplit(a,2))
#以下两个结果相同
print(np.split(a,3,axis =0)) #对行进行操作
print(np.vsplit(a,3))
print(np.array_split(a,3,axis =1)) #对列进行操作,不等分割
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2],
[ 6],
[10]]), array([[ 3],
[ 7],
[11]])]