与 pandas 进行外部合并时出现重复问题

Duplication issues when outer-merging with pandas

我有关于重复和 pandas 的问题。我有两个必须外连接的数据帧,例如,给定 df 1

id type value1
1 a 100
1 b 200

其中 id==1 包含两种具有不同值的类型,我想将其与另一个 df 连接,

id value2 value3
1 50 300

我正在使用

合并两者
df_merged = df1.merge(df2,how='outer',on='id')

结果是

id type value1 value2 value3
1 a 100 50 300
1 b 200 50 300

很明显 value2 和 value3 重复,如果我例如想要对 value2 或 value3 求和。有什么方法可以合并和创建例如

id type value1 value2 value3
1 a 100 50 300
1 b 200 NaN NaN

或某种其他方法?

谢谢!

您可以按照您的描述进行合并,然后使用:

df_merged.loc[df_merged.duplicated(subset=[dupe_cols]), [dupe_cols]] = np.nan