如何使用回归的beta系数创建数据帧

2024-04-19 04:50:35 发布

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

我有下面的代码,它获取数据帧HF的每一列,并将其适合于整个数据帧索引。我感兴趣的是生成一个包含回归系数的数据帧Beta:

col_names = HF.columns
Betas = pd.DataFrame(columns= HF.columns, index = Index.columns)
for name in col_names:
    lm = linear_model.LinearRegression()
    hf = HF[name]
    model = lm.fit(Index, hf)
    Betas.loc[:][name] = lm.coef_

代码运行,但我得到的是一个只有NaN值的Betas数据帧。你能帮我理解这个问题吗?谢谢


Tags: columns数据代码nameindexmodelnamescol
1条回答
网友
1楼 · 发布于 2024-04-19 04:50:35

问题是在.loc之后,您将对Betas数据帧进行两次切片,而您只需要使用同一组方括号进行一次切片

这应该是周期的新

for name in col_names:
    lm = linear_model.LinearRegression()
    hf = HF[name]
    lm.fit(Index, hf)
    Betas.loc[:, name] = lm.coef_

作为旁注,我删除了对model的赋值,因为它不是必需的;您只需在lm对象上调用fit方法即可

相关问题 更多 >