我有使用interp1d应用三次样条的数据(假设x和y之前已定义)
f2 = interp1d(x, y, kind='cubic')
xnew = np.linspace(start, end, num=501, endpoint=True)
spline = np.array(f2(xnew))
如果选中此选项,我将得到期望的值
print(spline)
[ 2.737e-02 5.0504e-02 ....]
但是,我需要确定样条曲线中的峰,并且正在使用Numpy Signal中的find_peaks
peaks = signal.find_peaks(spline)
但这会返回一系列索引位置,而我试图返回样条线数组的实际峰值。
print(peaks)
(array([ 15, 123, 290, 432]), {})
阅读文档(https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html) 这似乎不是预期的行为(尽管我完全有可能误解了)。有什么建议吗?