Ошибка типа: индексы кортежа должны быть целыми числами или слайсами, а не 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 - номер, в котором находятся данные.

Другие вопросы по тегам