У меня есть DataFrame под названием ES_15M_Summary с коэффициентами/бет в на колонке под названием ES_15M_Summary [ «Rolling_OLS_Coefficient»] следующим образом:Python DataFrames For Loop с Если заявление не работает
Если выше изображен столбец («Rolling_OLS_Coefficient») - это значение больше 0,8, я хочу, чтобы новый столбец «Long» был двоичным «Y». Если значение в другом столбце меньше 0,8, я хочу, чтобы это значение было «NaN» или просто «N» (либо работает).
Итак, я пишу цикл for, чтобы запустить столбцы. Во-первых, я создал новый столбец 'Long' и установите его значение NaN:
ES_15M_Summary['Long'] = np.nan
Тогда я сделал следующее For Loop:
for index, row in ES_15M_Summary.iterrows():
if ES_15M_Summary['Rolling_OLS_Coefficient'] > .08:
ES_15M_Summary['Long'] = 'Y'
else:
ES_15M_Summary['Long'] = 'NaN'
Я получаю ошибку:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
... ссылаясь на строку оператора if, показанную выше (если ...>. 08 :). Я не уверен, почему я получаю эту ошибку или что не так с циклом for. Любая помощь приветствуется.
Спасибо, я использую цикл for, который вы предоставили. Очень признателен. –