【发布时间】:2020-10-20 09:57:03
【问题描述】:
在我的数据框中,分类变量和连续变量很少。我想对分类变量和连续变量的每种组合执行 Anova 分析 (anova_lm)。到目前为止,我只能为 1 个目标分类创建循环,并将所有连续变量作为预测变量,如下所示:
我的原始数据集 pima 包含这些列:
性别 - 分类 年龄 - 连续 教育 - 分类 收入 - 分类 RATE_INTEREST - 连续 SPD - 分类 TPD - 分类 AMT_ANNUITY - 连续 DOWNPAYMPERC - 连续
从数据集中我定义了 pima_cont,它只包含连续变量。 从数据集中我还定义了 pima_categ,它只包含分类变量。
keys = []
tables = []
for variable in pima_cont.columns:
model = ols('{} ~ EDUCATION'.format(variable), data=pima).fit()
anova_table = sm.stats.anova_lm(model, typ=2)
keys.append(variable)
tables.append(anova_table)
df_anova = pd.concat(tables, keys=keys, axis=0)
print(df_anova)
这里我必须手动编辑我的目标在这部分语句model = ols('{} ~ EDUCATION'.format(variable), data=pima).fit()
任何提示如何实现自动化,以便 Python 向我显示相同的输出,但将我的所有分类变量作为目标?
非常感谢! 亚当
【问题讨论】:
标签: python pandas loops statsmodels anova