合并两个具有重复条目但值不同的数据框

时间:2019-04-19 13:51:22

标签: pandas python-3.5

我将举例说明我需要实现的目标: enter image description here

尽管两个数据帧都有重复项,但列“ first_name”的值不同。现在,我想将两者合并,并输出如下内容:

enter image description here

df_a.merge(df_b, on='subject_id', how='left')
由于重复,

熊猫合并不会提供此输出。如何获得所需的输出或任何其他建议?

1 个答案:

答案 0 :(得分:2)

我相信您需要GroupBy.cumcount创建的助手列并将其用于merge,最后将其删除:

df_a['g'] = df_a.groupby('subject_id').cumcount()
df_b['g'] = df_b.groupby('subject_id').cumcount()
df_a.merge(df_b, on=['subject_id', 'g'], how='left').drop('g', axis=1)