【问题标题】:Match id in multiple groups in python在python中匹配多个组中的id
【发布时间】:2021-07-12 22:52:32
【问题描述】:

我有一个如下所示的数据框

Group ID
1 AAA
1 BBB
1 CCC
2 AAA
2 DDD
2 CCC
3 AAA
3 GGG
3 TTT

在这里,我想查找“仅组 1”、“组 1 和 2”、“组 1、2 和 3”中存在的 id 数。

我希望决赛桌如下所示

Group Count
1 3
2 2
3 1

这只是一个示例表,但我有 10 个组和数百万行这样的数据,我需要一种有效的方法来计算它们。

【问题讨论】:

    标签: python pandas pandas-groupby


    【解决方案1】:

    试试crosstab 然后cumsum

    pd.crosstab(df.Group,df.ID).cumsum().eq([1,2,3],axis=0).sum(1).reset_index(name='count')
    Out[70]: 
       Group  count
    0      1      3
    1      2      2
    2      3      1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多