通过合并重复项和连接非重复项来合并两个 DataFrame

Merge two DataFrames by combining duplicates and concatenating nonduplicates

我有两个数据框:

df = pd.DataFrame({'A':[1,2],
             'B':[3,4]})
    A   B
0   1   3
1   2   4

df2 = pd.DataFrame({'A':[3,2,1],
             'C':[5,6,7]})


    A   C
0   3   5
1   2   6
2   1   7

我想合并的方式是列 'A' 在 DataFrame 之间添加不同的值,但合并重复项。

期望的输出:

  A   B   C
0 3   NaN 5 
1 2   4   6
2 1   3   7

您可以使用 combine_first:

df2 = df2.combine_first(df)

输出:

   A    B  C
0  1  3.0  5
1  2  4.0  6
2  3  NaN  7