【问题标题】:Python/ Pandas: Making a contingency table with multiple variablesPython/ Pandas:制作包含多个变量的列联表
【发布时间】:2022-11-03 02:33:37
【问题描述】:
我的数据框有 4 列(一个因变量和 3 个独立)。
这是一个示例:
我想要的输出是一个列联表,如下所示:
我似乎只能使用一个自变量获得列联表 - 使用以下代码(我的 df 称为“表”)
pd.crosstab(index=table['Dvar'],columns=table['Var1'])
我似乎无法向其中添加任何其他变量...实现此目的的唯一方法是为每个 var(1 到 3)制作单独的列联表,然后合并/加入它们?
【问题讨论】:
标签:
python
pandas
contingency
【解决方案1】:
使用groupby.sum
df = pd.DataFrame([[1,0,0,0],
[1,1,1,0],
[0,1,1,1]], columns=['Var1', 'Var2', 'Var3', 'Dvar'])
out = df.groupby('Dvar', as_index=False).sum()
输出:
Dvar Var1 Var2 Var3
0 0 2 1 1
1 1 0 1 1