我已經設置了一個小函數,它接受一個pandas DataFrame和幾個參數,然後嘗試使用statsmodels創建一個OLS迴歸。它旨在讓我從循環中調用它,用一些簡單的代碼運行許多不同的迴歸。不幸的是,它不起作用,我希望得到一些指導,說明我需要做些什麼才能使它工作。這裏的功能:通過字符串變量訪問熊貓DataFrame的列
def regressReturns(rawData, predictor, horizon): x = rawData.eval(predictor) x = sm.add_constant(x) y = rawData.eval(str(horizon) + '_Yr_Return') results = sm.OLS(y,x).fit() return results.params
我得到比語法錯誤沒有什麼其他的,如果我把它從一個循環:
for rh in retunHorizons: regressReturns(rawData,'Earnings_Yield', rh)
我在做什麼錯?另外,我是一個熊貓新手,所以一個例子和一個解釋將不勝感激。
在此先感謝您的幫助。
托馬斯飛利浦
有什麼語法錯誤? – Amit 2015-01-20 22:58:03