我有按以下两个列分组的数据:[CustomerID,cluster]:
{{1}}
我需要为客户ID分配最频繁的群集
例如:
答案 0 :(得分:1)
使用sort_values
,reset_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