numpy.split¶
-
numpy.
split
(ary, indices_or_sections, axis=0)[source]¶ 将数组拆分为多个子数组。
参数: ary:ndarray
数组被分为子数组。
indices_or_sections:int或1-D数组
如果indices_or_sections是整数N,则数组将沿轴划分为N等于数组。如果这样的分割是不可能的,则引起错误。
如果indices_or_sections是排序整数的1-D数组,则条目指示数组沿着轴的位置。例如,对于
axis=0
,[2, 3]
- ary [:2]
- ary [2:3]
- ary [3:]
如果索引超过沿轴的数组的大小,则相应返回空子阵列。
axis:int,可选
要拆分的轴,默认值为0。
返回: 子数组:ndarrays列表
子数组列表。
上升: ValueError
如果indices_or_sections作为整数给出,但是拆分不会导致相等的除法。
也可以看看
array_split
- 将数组拆分成等于或接近相等大小的多个子数组。如果不能进行等分,则不会引发异常。
hsplit
- 水平(逐列)将数组拆分成多个子数组。
vsplit
- 垂直(逐行)将数组拆分成多个子数组。
dsplit
- 将数组沿着第3轴(深度)拆分成多个子数组。
concatenate
- 沿现有轴连接数组序列。
stack
- 沿着新轴连接数组的序列。
hstack
- 水平(按列顺序)堆叠数组。
vstack
- 垂直(按行)顺序堆叠数组。
dstack
- 按照深度顺序(沿第三维)堆叠数组。
例子
>>> x = np.arange(9.0) >>> np.split(x, 3) [array([ 0., 1., 2.]), array([ 3., 4., 5.]), array([ 6., 7., 8.])]
>>> x = np.arange(8.0) >>> np.split(x, [3, 5, 6, 10]) [array([ 0., 1., 2.]), array([ 3., 4.]), array([ 5.]), array([ 6., 7.]), array([], dtype=float64)]