TypeError: tuple indices must be integers or slices, not str scipy.optimize

TypeError: tuple indices must be integers or slices, not str scipy.optimize

我尝试使用 scipy.optimize.minimize。这是我的代码:

def rry_fit(gamma, *args):
    data = args['data']
    data.time.shiftted = data.time - gamma 
    rsqr = rry.rry_cal(data)
    return(rsqr)

   minimize(rry_fit, gamma0, args={'data': df}, method='nelder-mead', options={'xtol': 1e-8, 'disp': True})

但是,对于 data = args['data'] 行,我得到如下错误。

TypeError: tuple indices must be integers or slices, not str

感谢您的帮助。

args 是元组,不是字典。将其从 *args 更改为 **kwargs 或将 args["data"] 更改为 args[0],其中 0 是数据所在的数字。