numpy.split#

numpy.split(ary, indices_or_sections, axis=0)[源代码]#

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

参数:
aryndarray

要被划分为子数组的数组.

indices_or_sectionsint 或 1-D 数组

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

如果 indices_or_sections 是一个已排序整数的 1-D 数组,则条目指示沿 axis 数组的分割位置.例如,对于 axis=0 , [2, 3] 将导致

  • ary[:2]

  • ary[2:3]

  • ary[3:]

如果索引超出数组沿 axis 的维度,则相应地返回一个空子数组.

axis整数,可选

沿其分割的轴,默认为 0.

返回:
子数组ndarray 的列表

子数组的列表,作为 ary 的视图.

提出:
ValueError

如果 indices_or_sections 给定为一个整数,但分割不会导致相等分割.

参见

array_split

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

hsplit

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

vsplit

将数组垂直(按行)分割成多个子数组.

dsplit

沿第 3 轴(深度)将数组分割成多个子数组.

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