Фрагмент кода:
for row in df.itertuples():
current_index = df.index.get_loc(row.Index)
if current_index < max_index - 29:
if df.iloc[current_index + 30].senkou_span_a == 0.0:
df.iloc[current_index + 30].senkou_span_a = 6700
if df.iloc[current_index + 30].senkou_span_b == 0.0:
df.iloc[current_index + 30].senkou_span_b = 6700.0
последняя строка, в которой я присваиваю значение через iloc, проходит, но результирующее значение равно 0.0. Я сталкивался с этим раньше, когда назначал значение для копии df, но на этот раз это не так. Я смотрел на это весь день. Я надеюсь, что это просто что-то глупое.
df - финансовые данные временных рядов (DateTimeIndex). Я проверил, что правильный индекс существует, и никаких исключений не выдается.
Есть другой код для присвоения значений, и он работает просто отлично, пропустил этот код для краткости.
РЕДАКТИРОВАТЬ
Эта строка работает: df.iloc[current_index + 30, df.columns.get_loc('senkou_span_b')] = 6700
почему этот, а не оригинал?