python - 如何在信号图中对对应于同一山丘的峰值点进行分组
问题描述
我有一个点列表,我需要在其中找到峰值点并将它们分组。我正在使用scipy.signalfind_peak()
中的函数来查找峰值点,现在我需要对对应于同一山丘的峰值点进行分组(如下所述)。我们怎么能做到这一点,任何建议都会有很大帮助。
代码
from matplotlib import pyplot as plt
from scipy.signal import find_peaks
# lst has list of points
A = np.array(lst)
peaks, _ = find_peaks(A)
plt.figure()
plt.plot(lst)
plt.plot(peaks, A[peaks], "ro")
plt.grid()
plt.show()
解决方案
对峰值进行分组的典型方法是对波形进行低通滤波。降低低通滤波器的截止频率,直到您认为属于您的“山丘”的峰值合并。然后尝试查找峰值功能。
推荐阅读
- php - 未找到列:1054 'where 子句'中的未知列
- c# - 如何让简单的 UInt16 算法起作用?
- javascript - 页面刷新JQuery时设置活动类?
- python - 如何将venv中的python代码与s3连接
- javascript - use-supercluster 获取空数组
- mysql - MySQL:将尾随零添加到每一行
- python - OpenCV - 使用凸包和自适应阈值在手指上绘制轮廓
- python - 如何使用specfile将单个python文件(文件锁)集成到pyinstaller?
- python - 从 Heroku 中提取数据库但无法处理数据
- javascript - core-js 包很大(使用 62kB)