使用statsmodel从Python中提取GLM中的系数

时间:2015-03-20 11:35:14

标签: python pandas statsmodels

我的模型定义如下:

import statsmodels.formula.api as smf
model = smf.glm(formula="A ~ B + C + D", data=data, family=sm.families.Poisson()).fit()

模型的系数如下:

Intercept   0.319813
C[T.foo]   -1.058058
C[T.bar]   -0.749859
D[T.foo]    0.217136
D[T.bar]    0.404791
B           0.262614

我可以通过InterceptB获取model.params.Interceptmodel.params.B的值,但我无法获取每个C的值}和D

我曾尝试过model.params.C[T.foo],但我得到了错误。

我如何从模型中获取特定值?

1 个答案:

答案 0 :(得分:13)

model.params是一只熊猫。系列。只有当条目的名称是有效的python名称时,才能访问属性。

在这种情况下,您需要使用引号中的名称进行索引,即model.params["C[T.foo]"]

http://pandas.pydata.org/pandas-docs/dev/indexing.html