如何获得按熊猫数据框中的元素分组的最大计数

时间:2019-01-28 11:23:12

标签: python pandas max pandas-groupby

我有按以下两个列分组的数据:[CustomerID,cluster]:

{{1}}

我需要为客户ID分配最频繁的群集

例如:

  1. 1893-> 2(2个出现在群集中的数量比其他群集更多)
  2. 2304-> 2
  3. 2655-> 1

1 个答案:

答案 0 :(得分:1)

使用sort_valuesreset_index和最后drop_duplicates

df = df.sort_values('Count', ascending=False).reset_index().drop_duplicates('CustomerID')

相似的解决方案,仅按MultiIndex的第一级进行过滤:

df = df.sort_values('Count', ascending=False)
df = df[~df.index.get_level_values(0).duplicated()].reset_index()
print (df)
   CustomerID  cluster  Count
0        1893        2      5
1        2304        2      3
2        2655        0      1
3        2850        1      1
4        3648        0      1