使用 Numpy 定位一维数组中的局部最大值和最小值
识别一维 numpy 数组中的局部最大值和最小值是各种应用程序中的常见任务。虽然检查相邻元素是一种直观的方法,但 Numpy 提供了更全面、更可靠的解决方案。
Numpy 的 argrelextrema 函数
在 SciPy 0.11 及更高版本中,argrelextrema 函数可以有效地查找一维 numpy 数组中的局部最大值和最小值。它需要两个参数:
用法:
要查找局部最大值,请使用:
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中文网其他相关文章!