NumPy split() 函数



NumPy 的split()函数将一个数组沿着指定的轴分成多个子数组。如果给定一个整数,则可以将数组分成大小相等的子数组;如果给定一个列表,则可以在指定的索引处进行分割。

此函数对于将数据分解成更小的块以便于操作和分析特别有用。

语法

NumPy split() 函数的语法如下:

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

参数

以下是 NumPy split() 函数的参数:

  • ary(array_like): 要分割的输入数组。
  • indices_or_sections(int 或 1-D array): 如果是整数 (N),则数组将被分成 N 个相等的部分。如果是一个数组,则数组中的值指示在哪里分割数组。
  • axis(int, 可选): 要分割的轴,默认为 0,即沿行分割。

返回值

此函数返回一个列表,其中包含分割结果的子数组。

示例 1

下面的示例演示了 NumPy split() 函数如何将一个包含 9 个元素的数组分成 3 个相等的子数组:

import numpy as np

# Create an array
arr = np.arange(9)
print("Original array:")
print(arr)

# Split the array into 3 equal parts
result = np.split(arr, 3)
print("\nSplit array into 3 equal parts:")
for i, sub_array in enumerate(result):
    print(f"Sub-array {i+1}:")
    print(sub_array)

输出

Original array:
[0 1 2 3 4 5 6 7 8]

Split array into 3 equal parts:
Sub-array 1:
[0 1 2]
Sub-array 2:
[3 4 5]
Sub-array 3:
[6 7 8]

示例 2

在此示例中,我们演示如何沿着列 (axis=1) 将一个二维数组分成 2 个子数组:

import numpy as np

# Create a 2D array
arr = np.arange(16).reshape(4, 4)
print("Original 2D array:")
print(arr)

# Split the 2D array into 2 sub-arrays along columns
result = np.split(arr, 2, axis=1)
print("\nSplit 2D array into 2 sub-arrays along columns:")
for i, sub_array in enumerate(result):
    print(f"Sub-array {i+1}:")
    print(sub_array)

输出

Original 2D array:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

Split 2D array into 2 sub-arrays along columns:
Sub-array 1:
[[ 0  1]
 [ 4  5]
 [ 8  9]
 [12 13]]
Sub-array 2:
[[ 2  3]
 [ 6  7]
 [10 11]
 [14 15]]
numpy_array_manipulation.htm
广告