通过字符串变量访问pandas数据帧的列

2024-06-28 19:04:50 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我做错什么了?另外,我是一个熊猫新手,所以一个例子和一个解释将非常感谢。

提前谢谢你的帮助。

托马斯飞利浦


Tags: 数据函数pandas参数evalpredictorresultssm