微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何迭代熊猫数据框的列以运行回归

如何解决如何迭代熊猫数据框的列以运行回归

for column in df:
    print(df[column])

解决方法

我确信这很简单,但作为一个完整的 python 新手,我无法弄清楚如何迭代pandas数据框中的变量并使用每个变量运行回归。

这就是我正在做的事情:

all_data = {}
for ticker in ['FIUIX','FSAIX','FSAVX','FSTMX']:
    all_data[ticker] = web.get_data_yahoo(ticker,'1/1/2010','1/1/2015')

prices = DataFrame({tic: data['Adj Close'] for tic,data in all_data.iteritems()})  
returns = prices.pct_change()

我知道我可以像这样运行回归:

regs = sm.OLS(returns.FIUIX,returns.FSTMX).fit()

但假设我想对数据框中的每一列执行此操作。特别是,我想在 FSTMX 上回归 FIUIX,然后在 FSTMX 上回归 FSAIX,然后在 FSTMX 上回归
FSAVX。每次回归后,我想存储残差。

我尝试了以下各种版本,但我一定是语法错误:

resids = {}
for k in returns.keys():
    reg = sm.OLS(returns[k],returns.FSTMX).fit()
    resids[k] = reg.resid

我认为问题是我不知道如何按键引用返回列,所以returns[k]可能是错误的。

任何有关执行此操作的最佳方法的指导将不胜感激。也许我缺少一种常见的熊猫方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。