如何在排除重复ID的前提下统计DataFrame中event的唯一值数量
解决方法
首先导入pandas并定义原DataFrame:
import pandas as pd df1 = pd.DataFrame({'id': ['1','2','2','3','3','4','5'], 'event': ['Basket','Soccer','Soccer','Basket','Soccer','Basket','Soccer']})
操作步骤
- 先去除同一id下重复的event记录,确保每个id对应的每个event只保留一条:
unique_pairs = df1.drop_duplicates(subset=['id', 'event'])
这一步会把id=2的两条Soccer合并为一条,id=3的Basket和Soccer各自保留一条,得到去重后的id-event组合。
- 按
event分组,统计每个event对应的唯一id数量:
result = unique_pairs.groupby('event')['id'].count().reset_index(name='count')
- 查看结果:
print(result)
输出结果与预期一致:
event count 0 Basket 3 1 Soccer 3
内容的提问来源于stack exchange,提问作者Arthur
相关产品推荐
相关产品推荐

