【问题标题】:Pandas count groupby values [duplicate]熊猫计数分组值[重复]
【发布时间】:2020-12-19 18:50:07
【问题描述】:

例子df:

df = pd.DataFrame({
    'group': ['a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b',],
    'value': ['yes', 'yes', 'yes', 'no', 'no', 'yes', 'no', 'no', 'no']
})

我需要计算组中的每个值并得到如下结果:

group yes no
a     3   2
b     1   3

我试过df.groupby(['group', 'value'])['value'].count().to_frame(),它看起来不错,但是多索引,我需要像上面例子这样的简单表格

【问题讨论】:

  • 使用pd.crosstab(df['group'], df['value'])
  • 通过添加 unstack 和一些格式来修复您的代码:df.groupby(['group', 'value'])['value'].count().unstack().rename_axis(None,axis=1).reset_index()

标签: python pandas group-by pandas-groupby


【解决方案1】:

尝试:

df.groupby(['group', 'value'])['value'].count().reset_index()

接下来,您可以更改列名

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-19
    • 2018-04-29
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多