【问题标题】:create a summary table with count values创建一个包含计数值的汇总表
【发布时间】:2021-10-07 05:21:23
【问题描述】:

我的 df 看起来像

group   value
A       1

B       1

A       1

B       1

B       0

B       0

A       0

我想创建一个df

value   0      1
group
A       a      b
B       c      d

其中 a,b,c,d 分别是 A 组和 B 组中 0 和 1 的计数。

我尝试了df.groupby('group').size() 组,但这给出了一个总体计数,并且没有拆分 0 和 1。我也尝试了 groupby 计数方法,但未能达到目标数据帧。

【问题讨论】:

    标签: python pandas group-by count aggregate-functions


    【解决方案1】:

    使用pd.crosstab:

    pd.crosstab(df['group'], df['value'])
    

    输出:

    value  0  1
    group      
    A      1  2
    B      2  2
    

    【讨论】:

      【解决方案2】:

      为此使用数据透视表:

      res = pd.pivot_table(df, index='group', columns='value', aggfunc='size')
      
      >>>print(res)
      value  0  1
      group
      A      1  2
      B      2  2
      

      【讨论】:

        猜你喜欢
        • 2021-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-19
        • 2019-07-22
        • 2020-01-18
        • 1970-01-01
        相关资源
        最近更新 更多