NumPy 函数

NumPy split() 函数将数组拆分为多个子数组,作为 ary 的视图。

语法

numpy.split(ary, indices_or_sections, axis=0) 

参数

ary必填。 指定要划分为子数组的数组(ndarray)。
indices_or_sections必需。 将indices_or_sections 指定为int 或一维数组。
  • 如果indices_or_sections是整数N,则数组将沿轴分为N个相等的数组。如果不可能进行这种分割,则会引发错误。
  • 如果indices_or_sections是已排序整数的一维数组,则条目指示数组沿轴的分割位置。例如,对于 axis=0,[2, 3] 将导致:
    • ary[:2]
    • ary[2: 3]
    • ary[3:]
  • 如果索引超出了数组的维度axis,相应返回一个空子数组。
axis可选。 指定分割的轴。默认值为 0。

返回值

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

示例:

在下面的示例中,split()函数用于分割给定的数组。

import numpy as np

Arr = np.array([[10, 20, 30],
                 [30, 40, 60],
                 [70, 80, 90]])

#分割数组
Arr1 = np.split(Arr, 3)

#显示结果
print("Arr is:")
print(Arr)
print("\nArr1 is:")
print(Arr1) 

上述代码的输出将是:

Arr is:
[[10 20 30]
 [30 40 60]
 [70 80 90]]

Arr1 is:
[array([[10, 20, 30]]), array([[30, 40, 60]]), array([[70, 80, 90]])] 

示例:indices_or_sections作为一维数组

当indices_or_sections作为一维数组传递时排序整数数组,条目指示数组沿轴的分割位置。例如,对于 axis=0,[2, 3] 将导致:array[:2]、array[2:3]、array[ 3:].

import numpy as np

Arr = np.array([[10, 20, 30],
                 [30, 40, 60],
                 [70, 80, 90],
                 [100, 200, 300]])

#分割数组
Arr1 = np.split(Arr, [2,3])

#显示结果
print("Arr is:")
print(Arr)
print("\nArr1 is:")
print(Arr1) 

上述代码的输出将是:

Arr is:
[[ 10  20  30]
 [ 30  40  60]
 [ 70  80  90]
 [100 200 300]]

Arr1 is:
[array([[10, 20, 30],
       [30, 40, 60]]), array([[70, 80, 90]]), array([[100, 200, 300]])]