Pandas如何统计FeatureID关联IssueID数量并列出所有匹配值
实现代码
直接用groupby+聚合函数就能一步完成需求:
# 已提前读取csv数据到df变量 res_df = df.groupby('FeatureID').agg( issue_count = ('IssueID', 'count'), issue_list = ('IssueID', list) ).reset_index() # 筛选关联2个及以上IssueID的FeatureID res_df = res_df[res_df['issue_count'] >= 2] # 输出结果 print(res_df)
补充说明
- 如果你希望
issue_list列显示为逗号分隔的字符串而非Python列表,可以把聚合时的list替换为lambda x: ', '.join(map(str, x)) - 你之前代码里的筛选条件是
x>2,对应关联3个及以上的需求,如果你要保留2个及以上的记录,需要调整为>=2的判断条件
内容的提问来源于stack exchange,提问作者Phil C
相关产品推荐
相关产品推荐

