gpt4 book ai didi

python - 通过字符串变量访问 pandas DataFrame 的列

转载 作者:行者123 更新时间:2023-11-28 18:39:37 26 4
gpt4 key购买 nike

我设置了一个小函数,它接受一个 pandas DataFrame 和一些参数,然后尝试使用 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)

我做错了什么?

最佳答案

我假设 rawData 是您的 DataFrame,并且您在 evals 中拥有的是您尝试访问的列的名称。如果是这种情况,以下将起作用:

x = rawData[predictor]
y = rawData[str(horizon) + '_Yr_Return']

列既可以作为属性访问,也可以像字典一样访问。第一种方式更简洁一些,但如果你想使用变量作为列名,第二种方式更灵活。

关于python - 通过字符串变量访问 pandas DataFrame 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com