我设置了一个小函数,它接受一个pandas数据框和一些参数,然后尝试使用statsmodels创建OLS回归。它的设计允许我从循环中调用它,用一些简单的代码运行许多不同的回归。不幸的是,它不起作用,我希望能得到一些指导,让我知道我需要做些什么才能使它起作用。功能如下:
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)
我做错什么了?另外,我是一个熊猫新手,所以一个例子和一个解释将非常感谢。
提前谢谢你的帮助。
托马斯飞利浦
目前没有回答
相关问题 更多 >
编程相关推荐