1
我有一個名爲ES_15M_Summary數據幀,具有係數/貝塔在標題爲ES_15M_Summary柱[「Rolling_OLS_Coefficient」]如下:的Python DataFrames For循環與如果聲明不工作
如果上圖中柱('Rolling_OLS_Coefficient')是一個大於.08的值,我想要一個名爲'Long'的新列是一個二進制'Y'。如果其他列中的值小於.08,我希望該值爲'NaN'或'N'(或者有效)。
因此,我正在寫一個for循環來運行列。首先,我創建了名爲 '龍' 的新列,並將其設置爲NaN:
ES_15M_Summary['Long'] = np.nan
然後我做了如下For循環:
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循環。非常感激。 –