【问题标题】:Group Value Count By Column with Pandas Dataframe使用 Pandas 数据框按列分组值计数
【发布时间】:2018-09-23 22:15:49
【问题描述】:

我不太确定如何问这个问题,所以如果这是一个重复的问题,我深表歉意。我有这个看起来像这样的数据框:

| ID | Attend_x | Attend_y | Attend_z | | 1 | No | No | No | | 2 | No | No | Yes | | 3 | No | Yes | No | | 4 | No | Yes | Yes |

我一直在尝试找出 group_by 和 count 的正确组合,让它看起来像这样:

| | Yes | No | |Attend_x| 0 | 4 | |Attend_y| 2 | 2 | |Attend_z| 2 | 2 |

我真的很难过。所以任何建议都非常感谢。谢谢!

【问题讨论】:

    标签: python pandas dataframe pandas-groupby


    【解决方案1】:

    来自value_counts的一种方式

    df.iloc[:,1:].apply(pd.Series.value_counts).fillna(0).T
    Out[184]: 
               No  Yes
    Attend_x  4.0  0.0
    Attend_y  2.0  2.0
    Attend_z  2.0  2.0
    

    或者在melt之后使用crosstab

    m = df.iloc[:,1:].melt()
    pd.crosstab(m.variable, m.value)
    
    value     No  Yes
    variable         
    Attend_x   4    0
    Attend_y   2    2
    Attend_z   2    2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 2020-10-01
      • 2021-02-07
      • 1970-01-01
      • 2022-12-09
      • 2021-09-29
      • 1970-01-01
      相关资源
      最近更新 更多