我有一个点列表,需要找到峰值点并将其分组。我正在使用scipy.signal中的find_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()
答案 0 :(得分:0)
对峰值进行分组的典型方法是对波形进行低通滤波。降低低通滤波器的截止频率,直到您认为与“山丘”合并在一起的峰值为止。然后尝试“查找峰”功能。