Numpy split() 函数
Numpy split() 函数沿指定轴将数组划分为多个子数组。如果给定一个整数,它可以将数组拆分成大小相等的子数组;如果给定一个列表,则可以按指定的索引拆分成子数组。
此函数特别适用于将数据分解成更小的块,以便于操作和分析。
语法
Numpy split() 函数的语法如下 -
numpy.split(ary, indices_or_sections, axis=0)
参数
以下是 Numpy split() 函数的参数 -
- ary(array_like): 要拆分的输入数组。
- indices_or_sections(int 或一维数组):如果为整数(N),则数组将被分成 N 等份。如果是数组,数组中的值指示数组的拆分位置。
- axis(int,可选): 拆分的轴,默认值为 0,即沿行拆分。
返回值
此函数返回拆分后的子数组列表。
示例 1
以下示例展示了 Numpy split() 函数,该函数可将一个包含 9 个元素的数组拆分为 3 个相等的子数组 -
import numpy as np # 创建数组 arr = np.arange(9) print("原始数组:") print(arr) # 将数组拆分为 3 个相等的部分 result = np.split(arr, 3) print(" 将数组拆分成三等份:") for i, sub_array in enumerate(result): print(f"子数组 {i+1}:") print(sub_array)
输出
原始数组: [0 1 2 3 4 5 6 7 8] 将数组拆分成三等份: 子数组 1: [0 1 2] 子数组 2: [3 4 5] 子数组 3: [6 7 8]
示例 2
本例中,我们展示了如何将一个二维数组沿列拆分成两个子数组,即 axis=1 −
import numpy as np # 创建二维数组 arr = np.arange(16).reshape(4, 4) print("原始二维数组:") print(arr) # 将二维数组沿列拆分为两个子数组 result = np.split(arr, 2, axis=1) print(" 将二维数组沿列拆分为两个子数组:") for i, sub_array in enumerate(result): print(f"子数组 {i+1}:") print(sub_array)
输出
原始二维数组: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] 将二维数组沿列拆分为两个子数组: 子数组 1: [[ 0 1] [ 4 5] [ 8 9] [12 13]] 子数组 2: [[ 2 3] [ 6 7] [10 11] [14 15]]