我试图按组运行线性回归,并分别显示每个材质组的结果,包括特定材质的名称。Python statsmodels - 按组显示回归结果
我的数据集有一个变量ActYTDVol,我在UnitPrice上进行回归。我使用statsmodels和for-in分别对每个材质(=组)进行回归。
我能够运行上述回归,但回归输出不显示我正在分析的材料的名称,因此我无法说出回归输出引用的材料的名称。
是否有办法在回归输出旁边显示Material(= group)名称?
这是我目前使用的代码:
import statsmodels.api as sm
from statsmodels.iolib.summary2 import summary_col
for Materials in df.Material.unique():
tempdf = df[df.Material == Materials]
X = sm.add_constant(tempdf['UnitPrice'])
y = tempdf['ACTYTDVol']
model = sm.OLS(y, X)
results = model.fit()
print(results.summary())
我的电流输出显示了每个10层的材料,我有10个OLS回归与结果表。但是,它没有说明回归完成的材料的名称,因此我无法知道结果涉及哪种材料。
非常感谢您的帮助!
非常感谢您!我已经尝试了下面的代码,但得到一个错误消息“IndentationError:预计一个缩进块”。你知道我做错了什么吗?我是Python新手,非常感谢您的帮助,谢谢!对于材料tempdf: print(results.summary()) – Paddington
第一行:对于材料在tempdf:第二行(4空格后):print(results.summary()) – Paddington
现在我明白了:-)我替换了打印行“打印(results.summary(yname =材料))”,它的作品就像一个魅力 - 非常感谢您的帮助! – Paddington