如何解决查找最大值并过滤第一个值
我使用argrelextrema在列表中找到最大值
import pandas as pd
from scipy.signal import argrelextrema
import numpy as np
noise_filter = 3
numbers = pd.Series ([101.5,100,101.1,99,105,22,21,20,19]).to_numpy()
res = argrelextrema(numbers,np.greater_equal,order = noise_filter,mode = 'clip')[0]
print (res)
在此示例中,它返回
[0 4]
如果索引小于noise_filter,我想对其进行过滤。
所以0将被过滤。
我如何在行内完成
res = argrelextrema(numbers,mode = 'clip')[0]
所以看起来像
res = argrelextrema(numbers,np.greater_equal & (index > noise_filter),mode = 'clip')[0]
当我做一片res时,很简单
res = res[noise_filter:]
不适合我。
解决方法
如果要过滤noise_filter以下的所有内容
filtered = [n for n in res if n > noise_filter]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。