Numpy 数组切割
在本文中,我们将介绍如何使用 Numpy 中的 split 函数将一个数组划分成多个子数组。
阅读更多:Numpy 教程
numpy.split() 函数
split 函数在 Numpy 中用于切割数组,并按照指定的位置将数组划分成多个子数组。
split 函数最常见的形式是:
numpy.split(ary, indices_or_sections, axis=0)
该函数的参数 ary 指定需要被切割的数组,indices_or_sections 指定切割的位置,也就是上述语句中的 axis 指定的轴上进行切割,将数组切割成多少个子数组取决于传递给 indices_or_sections 的值。
这里介绍两种切割方式:按照数量切割与按照指定值切割。
按照数量切割数组
在使用该方式时,需要指定需要切割成的子数组的数量。如将长度为 9 的数组切割成 3 个子数组:
import numpy as np
# 输入数组
x = np.arange(9)
print(x)
# 将数组分割成三个新数组
print(np.split(x, 3))
输出:
[0 1 2 3 4 5 6 7 8]
[array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]
按照指定值切割数组
在使用该方式时,需要指定切割位置,也就是数据被切开的值。
import numpy as np
# 输入数组
x = np.array([3, 4, 7, 5, 9, 8, 6])
print(x)
# 将数组分割成两个新数组
print(np.split(x, [3, 5]))
输出:
[3 4 7 5 9 8 6]
[array([3, 4, 7]), array([5, 9]), array([8, 6])]
在这个例子中,我们将数组分成 3 个子数组,并且将 indices_or_sections 参数设置为 [3, 5],即在第 3 个位置和第 5 个位置进行分割。
总结
在 Numpy 中,使用 split 函数可以很方便地将一个数组划分为多个子数组。切割方式可以按照数量或者指定的值调整,应用非常广泛。
极客笔记