Ошибка типа: индексы кортежа должны быть целыми числами или слайсами, а не 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
Спасибо за помощь.
1 ответ
Решение
args
это кортеж, а не словарь. либо измените его с *args
в **kwargs
или изменить args["data"]
to args[0], где 0 - номер, в котором находятся данные.