python np.split函数

  • Post category:Python

我来为你详细讲解一下 Python 的 np.split 函数。

np.split 函数介绍

np.split 是 NumPy 中用于分割数组的函数。它可以沿着指定的轴(axis)分割数组成若干个子数组。函数的基本语法为:

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

其中,ary 参数是要分割的数组,indices_or_sections 参数是分割点的位置。如果 indices_or_sections 是一个整数 N,则等分成 N 份;如果是一个数组,则按照数组中的元素将数组分割。axis 参数是指沿着哪个轴分割。默认值是 0。

np.split 函数用法示例

下面分别用两个示例来说明 np.split 函数的用法。

示例1

假设有一个 3 x 6 的二维数组:

import numpy as np

a = np.arange(18).reshape(3, 6)
print(a)

输出结果如下:

array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17]])

现在我们要将这个数组沿着第 1 轴(即行)分成 3 份:

b = np.split(a, 3, axis=0)
print(b)

输出结果如下:

[array([[0, 1, 2, 3, 4, 5]]),
 array([[ 6,  7,  8,  9, 10, 11]]),
 array([[12, 13, 14, 15, 16, 17]])]

可以看到,原数组被分成了 3 份,每份都是 1 x 6 的二维数组。

示例2

现在我们有一个一维数组:

c = np.arange(12)
print(c)

输出结果如下:

array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

我们要将这个数组分成 4 段:

d = np.split(c, 4)
print(d)

输出结果如下:

[array([0, 1, 2, 3]), array([4, 5, 6, 7]), array([ 8,  9, 10]), array([11])]

可以看到,原数组被分成了 4 段,分别是长度为 4、4、3 和 1 的一维数组。

总结

此处我们讲解了 NumPy 中的 np.split 函数的用法和示例。希望能够帮助你更好地掌握它的使用方法。