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

Python如何捕获RuntimeError并依次执行多个拟合函数输出成功结果

解决方法

核心通过try-except异常捕获机制,逐个尝试所有拟合函数,遇到指定错误直接跳过即可,修改后的主逻辑参考如下:

def main(): 
    import pandas as pd
    df=pd.read_json('url')
    dati=[]
    dati_giornalieri=list(df.nuovi_positivi)
    u=len(dati_giornalieri)

    for i in range(u-60,u):
        dati.append('0')
        dati[i-u+60]=dati_giornalieri[i]
    
    # 按顺序填入你编写的所有stage拟合函数,函数名不加括号
    stage_func_list = [stage1, stage2, stage3, stage4, stage5, stage6, stage7, stage8, stage9, stage10]
    
    for stage_func in stage_func_list:
        try:
            stage_func(dati)
        # 只捕获拟合失败抛出的RuntimeError,避免隐藏其他代码bug
        except RuntimeError:
            # 可选:打印失败提示方便排查
            # print(f"{stage_func.__name__} 拟合失败,尝试下一个函数")
            continue
可选优化项
  • 如果不需要保留所有拟合成功的结果,只要第一个可用的结果,在stage_func(dati)执行后加break即可终止后续尝试
  • 可以给每个stage函数增加返回值,把拟合得到的参数存下来统一处理,不需要每张图单独弹出
  • 如果拟合的初始参数有参考范围,可以给curve_fit加p0参数传入初始猜测值,能大幅降低拟合失败的概率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:27:06