【问题标题】: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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-04
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 2016-03-15
      • 2016-10-11
      • 1970-01-01
      相关资源
      最近更新 更多