上一主题

numpy.vstack

下一主题

numpy.array_split

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)]