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 是数据所在的数字。
我尝试使用 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 是数据所在的数字。