You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

根据峰值x值求解对应y值:插值方法使用异常求助

问题:根据峰值x轴(时间轴)值求解对应y轴(价格轴)值

我需要根据峰值对应的x轴(时间轴)数值,求解其对应的y轴(价格轴)数值。参考图表为价格-时间趋势图。我尝试用插值方法实现,但运行以下代码后,得到的结果和谷值的y值完全一致,明显有问题:

new_x_values = np.array([last_six_peaks])

peaks_y_value = np.interp(new_x_values, last_six_peaks, last_six_valley)

问题原因

你的代码逻辑完全搞反了——np.interp的参数顺序是np.interp(待插值的x值, 已知的x序列, 对应已知x的y序列)。你现在把峰值x值同时当成插值目标和已知x序列,又把谷值y序列作为对应y序列,相当于直接返回谷值数组,自然结果和谷值一致。

修正方案

你需要传入完整的时间轴x序列和对应的价格y序列作为已知数据,再把峰值的x值作为插值目标传入,才能得到正确的峰值价格:

# 示例:假设你有完整的时间和价格数据
full_time_x = np.array([...])  # 所有时间点的x轴数据
full_price_y = np.array([...]) # 对应时间点的价格y轴数据

# 要求解的峰值x值数组
peak_x_values = np.array(last_six_peaks)

# 插值获取峰值对应的价格
peak_y_values = np.interp(peak_x_values, full_time_x, full_price_y)

注意事项

  • 确保full_time_x是单调递增的,这是np.interp的硬性要求,否则插值结果会出错
  • 如果峰值x值超出了full_time_x的范围,np.interp会直接取边界值,若需要外插可以考虑scipy.interpolate模块中的插值函数

内容的提问来源于stack exchange,提问作者Darrian Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:15:13