当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy array_split方法用法及代码示例


NumPy 的 array_split(~) 方法根据指定的参数划分输入数组。

注意

两个array_split(~) split(~) 的参数和函数完全相同。主要区别在于,array_split(~) 允许在第二个参数为 int 的情况下进行不等除法,而 split(~) 方法会引发错误。

对于 array_split(~) ,最后一个分区将保存较少的数据以适应不等分。

参数

1. a | array-like

要拆分的输入数组。

2. indices_or_sections | int

如果给定 int n,则输入数组将沿指定轴分成 n 个相等的数组。为了更准确地了解在哪里分割数组,请提供一个已排序整数的一维数组。

3. axis | Noneint | optional

执行分割所沿的轴。默认情况下,axis=0

返回值

包含分割的 NumPy 数组的列表。

例子

基本用法

a = np.array([4,5,6,7,8,9])
np.array_split(a, 2)



[array([4, 5, 6]), array([7, 8, 9])]

当分割不均匀时,不会抛出错误:

a = np.array([4,5,6,7,8])
np.array_split(a, 2)



[array([4, 5, 6]), array([7, 8])]

通过切片分割

a = np.array([4,5,6,7,8,9])
np.array_split(a, (2,3))



[array([4, 5]), array([6]), array([7, 8, 9])]

在这里,我们按如下方式进行切片:

a[:2]
a[2:3]
a[3:]

分割二维数组

考虑以下二维数组:

a = np.array([[1,2,3,4],[5,6,7,8]])
a



array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
水平砍伐

按行拆分a

np.array_split(a, 2, axis=0)



[array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]])]
垂直砍伐

按列拆分a

np.array_split(a, 2, axis=1)



[array([[1, 2],
        [5, 6]]),
 array([[3, 4],
        [7, 8]])]
切片

要通过切片按列分割a

np.array_split(a, (2,3), axis=1)



[array([[1, 2],
        [5, 6]]),
 array([[3],
        [7]]),
 array([[4],
        [8]])]

在这里,我们获得的列是:

first two columns
third column
fourth column

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | array_split method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。