首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一组连续的事件中获取最极端峰谷指数的最佳方法是什么?

从一组连续的事件中获取最极端峰谷指数的最佳方法是什么?
EN

Stack Overflow用户
提问于 2019-10-25 07:13:28
回答 1查看 42关注 0票数 0

假设我有一些数据,然后我还有一个与这些数据相对应的数组,它显示了一个点是否被检测为以1和-1编码的峰值或谷值。然而,需要注意的是,任何点都可能高于或低于阈值,因此一个数组可能看起来像[0,0,1,1,-1,-1,0,0],在本例中,我只希望保留对应数组中最极端值的峰值和谷值。例如,假设我的实际数据看起来像[0,0,5,10,-5,-10,0,0],我希望将我的数组转换为[0,0,0,1,0,-1,0,0]。我只想要一组连续事件中最极端的峰或谷。

EN

回答 1

Stack Overflow用户

发布于 2019-10-25 07:23:57

下面的代码应该会产生您想要的结果:

代码语言:javascript
复制
import numpy as np
from scipy.signal import argrelmax, argrelmin

def locate_extrema(arr):
    arr = np.asarray(arr)
    min_idxs = argrelmin(arr)
    max_idxs = argrelmax(arr)
    result = np.zeros_like(arr)
    result[min_idxs] = -1
    result[max_idxs] = 1
    return result

使用您的示例:locate_extrema([0,0,5,10,-5,-10,0,0])

输出:

代码语言:javascript
复制
array([ 0,  0,  0,  1,  0, -1,  0,  0])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58550278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档