numpy.split#

numpy.split(ary, indices_or_sections, axis=0)[source]#

将数组拆分为多个子数组,作为 ary 的视图。

参数::
aryndarray

要划分为子数组的数组。

indices_or_sectionsint 或 1-D 数组

如果 indices_or_sections 是一个整数 N,则该数组将沿 axis 划分为 N 个相等的数组。如果无法进行此类拆分,则会引发错误。

如果 indices_or_sections 是一个排序整数的 1-D 数组,则条目指示数组沿 axis 的拆分位置。例如,[2, 3] 将在 axis=0 时产生以下结果:

  • ary[:2]

  • ary[2:3]

  • ary[3:]

如果索引超过数组沿 axis 的维度,则将返回相应的空子数组。

axisint,可选

要拆分的轴,默认为 0。

返回值::
sub-arraysndarrays 列表

作为 ary 的视图的子数组列表。

引发::
ValueError

如果 indices_or_sections 给定为整数,但拆分未导致相等划分。

另请参阅

array_split

将数组拆分为多个大小相等或接近相等的大小子数组。如果无法进行等划分,则不会引发异常。

hsplit

将数组水平(按列)拆分为多个子数组。

vsplit

将数组垂直(按行)拆分为多个子数组。

dsplit

将数组沿第三个轴(深度)拆分为多个子数组。

concatenate

沿现有轴连接数组序列。

stack

沿新轴连接数组序列。

hstack

水平(按列)依次堆叠数组。

vstack

垂直(按行)依次堆叠数组。

dstack

按深度(沿第三个维度)依次堆叠数组。

示例

>>> import numpy as np
>>> 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)]