我在第一列中有两个具有相同列名和相同 ID 的数据框。除 ID 列外,每个在一个 DataFrame 中包含值的单元格在另一个 DataFrame 中都包含 NaN。 这是它们的外观示例:
ID Cat1 Cat2 Cat3
1 NaN 75 NaN
2 61 NaN 84
3 NaN NaN NaN
ID Cat1 Cat2 Cat3
1 54 NaN 44
2 NaN 38 NaN
3 49 50 53
我想将它们合并到一个 DataFrame 中,同时保持相同的列名。所以结果看起来像这样:
ID Cat1 Cat2 Cat3
1 54 75 44
2 61 38 84
3 49 50 53
我试过:
df3 = pd.merge(df1, df2, on='ID', how='outer')
这给了我一个包含两倍多列的 DataFrame。如何将每个 DataFrame 的值合并为一个?
最佳答案
您可能需要 df.update。查看documentation .
df1.update(df2, raise_conflict=True)
关于python - Pandas - 合并两个具有相同列名的 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145317/