使用python statsmodels修复summary_col中的标签外部变量

使用python statsmodels修复summary_col中的标签外部变量,python,pandas,regression,statsmodels,Python,Pandas,Regression,Statsmodels,我希望生成类似于summary_col(标准日记账表)生成的回归表,但带有自定义解释变量标签 是否有方法更改保存在“模型参数”属性中的行名称 到目前为止,我将变量重命名为最接近我的意图的变量,但是应该有更好的方法来做到这一点。假设您已经这样做了 reg = smf.ols(formula = "y~x1+x2+x3").fit() 我建议(1)有一本字典,里面有所有的重新标记: dic={原始名称:新名称} a(2)一对有用的函数: def rename_vars(vname): t

我希望生成类似于summary_col(标准日记账表)生成的回归表,但带有自定义解释变量标签

是否有方法更改保存在“模型参数”属性中的行名称

到目前为止,我将变量重命名为最接近我的意图的变量,但是应该有更好的方法来做到这一点。

假设您已经这样做了

reg = smf.ols(formula = "y~x1+x2+x3").fit()
我建议(1)有一本字典,里面有所有的重新标记: dic={原始名称:新名称} a(2)一对有用的函数:

def rename_vars(vname): 
    to_ret = vname
    for orig_vname in list(dic.keys()):
        if vname == 'original_vname':
            to_ret = dic['original_vname'] 
    return to_ret

那么,只要做:

rename_ols(reg.model.exog_names) 
就这样。调用summary\u col后,变量将显示为新的标签。

假设您已经这样做了

reg = smf.ols(formula = "y~x1+x2+x3").fit()
我建议(1)有一本字典,里面有所有的重新标记: dic={原始名称:新名称} a(2)一对有用的函数:

def rename_vars(vname): 
    to_ret = vname
    for orig_vname in list(dic.keys()):
        if vname == 'original_vname':
            to_ret = dic['original_vname'] 
    return to_ret

那么,只要做:

rename_ols(reg.model.exog_names) 

就这样。调用summary\u col后,变量将与新标签一起显示。

summary\u col
将结果存储在数据框中,并附加在
属性中。应该可以使用新的变量名对其重新编制索引。(我不知道细节。)那是不对的。至少在我的版本中,汇总表是一个列表。尽管如此,还是可以使用这个想法:reg=smf.ols(formula=“y~x1+x2+x3”).fit()def rename_vars(vname):to_ret=vname如果vname='original_vname':to_ret='new_vname'返回到_ret def rename_ols(reg):范围内的I(len(reg)):reg[I]=重命名变量(reg[i]),然后,只需执行以下操作:重命名ols(reg.model.exog\u names)就可以了。我不能将此作为答案发布,因为我没有足够的声誉。
summary\u col
将结果存储在熊猫数据框中,并附加在
属性中。应该可以使用新的变量名对其重新编制索引。(我不知道细节。)那是不对的。至少在我的版本中,汇总表是一个列表。尽管如此,还是可以使用这个想法:reg=smf.ols(formula=“y~x1+x2+x3”).fit()def rename_vars(vname):to_ret=vname如果vname='original_vname':to_ret='new_vname'返回到_ret def rename_ols(reg):范围内的I(len(reg)):reg[I]=重命名变量(reg[i]),然后,只需执行以下操作:重命名ols(reg.model.exog\u names)就可以了。我不能将此作为回答,因为我没有足够的声誉。