我已经设置了一个小函数,它接受一个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