Pandas 合并两个具有重复项但值不同的数据帧

Pandas 合并两个具有重复项但值不同的数据帧,pandas,python-3.5,Pandas,Python 3.5,我将能够举例说明我需要实现的目标: 虽然两个数据帧都有重复项,但“first_name”列的值不同。现在,我想将两者合并,输出如下: 由于存在重复项,pandas merge不会提供此输出。如何获得所需的输出或任何其他建议?我相信您需要由创建并用于合并的帮助列表,最后删除它: df_a['g'] = df_a.groupby('subject_id').cumcount() df_b['g'] = df_b.groupby('subject_id').cumcount() df_a.merg

我将能够举例说明我需要实现的目标:

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


由于存在重复项,pandas 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)
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)