如何按Column1条件合并两个DataFrame并统计重复行出现次数
Pandas实现代码
你可以直接使用以下代码完成需求,核心用到分组统计和表合并两个操作:
import pandas as pd # 1. 统计DataFrame A中每组Column1+Column2的重复次数 df_count = df_a.groupby(['Column1', 'Column2'], as_index=False).size().rename(columns={'size': 'Repeat'}) # 2. 和DataFrame 2按Column1匹配合并,仅保留两边都存在的匹配项 df_result = pd.merge(df_count, df2, on='Column1', how='inner') # 如需调整列顺序和你给出的输出格式对齐,可添加以下代码 df_result = df_result[['Column2', 'Column1', 'Repeat', 'Hours']] # 输出查看结果 print(df_result)
补充说明
你给出的期望输出中存在两处笔误:
- X-3对应的Hours应为10,X-4对应14,X-5对应12,和你给出的DataFrame 2数值一致,代码会按原始数据正确匹配
- 第一行的
H3为输入笔误,原始数据中不存在该值,统计结果会保留原始的H-3字段值
内容的提问来源于stack exchange,提问作者gumase
相关产品推荐
相关产品推荐

