首页 >后端开发 >Python教程 >如何查找一维 Numpy 数组中的局部最大值和最小值?

如何查找一维 Numpy 数组中的局部最大值和最小值?

DDD
DDD原创
2024-11-19 21:56:02983浏览

How to Find Local Maxima and Minima in 1D Numpy Arrays?

使用 Numpy 定位一维数组中的局部最大值和最小值

识别一维 numpy 数组中的局部最大值和最小值是各种应用程序中的常见任务。虽然检查相邻元素是一种直观的方法,但 Numpy 提供了更全面、更可靠的解决方案。

Numpy 的 argrelextrema 函数

在 SciPy 0.11 及更高版本中,argrelextrema 函数可以有效地查找一维 numpy 数组中的局部最大值和最小值。它需要两个参数:

  1. 数组:输入 numpy 数组。
  2. 比较器:指定识别极值标准的比较函数(例如,np.greater 或 np.less) .

用法:

要查找局部最大值,请使用:

argrelextrema(x, np.greater)

要查找局部最小值,请使用:

argrelextrema(x, np.less)

输出

argrelextrema 函数返回一个元组,其中包含与极值对应的一维索引数组。这些索引可用于访问局部最大值或最小值的值。

示例:

考虑以下 numpy 数组:

x = np.random.random(12)

查找局部最大值和最小值的索引:

max_indices = argrelextrema(x, np.greater)[0]
min_indices = argrelextrema(x, np.less)[0]

检索实际值:

max_values = x[max_indices]
min_values = x[min_indices]

通过使用 Numpy 的 argrelextrema 函数,您可以准确识别 1D numpy 中的局部最大值和最小值数组,简化了这个常见任务。

以上是如何查找一维 Numpy 数组中的局部最大值和最小值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn