当应用于interp1d三次样条曲线时,“ find_peaks”返回索引位置而不是值

时间:2018-10-09 05:35:17

标签: python-3.x numpy

我有使用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) 这似乎不是预期的行为(尽管我完全有可能误解了)。有什么建议吗?

0 个答案:

没有答案