如何基于一个公共列但内容不同来合并/扩展两个python pandas数据框?

时间:2020-06-13 23:28:44

标签: python pandas dataframe merge

我想合并两个数据框,但没有得到正确的结果。 df1像这样:

         Date Name1
0  2018-08-05   abc
1  2019-08-05  cdsx
2  2020-08-05  sdfs

df2这样

         Date  Name2
0  2017-06-02  dfdds
1  2018-09-17   hger

我想合并这两个数据帧并得到一个df3,如下所示:

         Date Name1  Name2
0  2017-06-02   NaN  dfdds
1  2018-08-05   abc    NaN
2  2018-09-17   NaN   hger
3  2019-08-05  cdsx    NaN
4  2020-08-05  sdfs    NaN

df1和df2有一个共同的列:日期,但没有相同的信息。

我尝试使用“合并”,但没有得到正确的结果。

有人可以给我一些解决这个问题的建议吗?

1 个答案:

答案 0 :(得分:0)

外部sort=True一起使用merge

print( pd.merge(df1, df2, on='Date', how='outer', sort=True) )

打印:

        Date Name1  Name2
0 2017-06-02   NaN  dfdds
1 2018-08-05   abc    NaN
2 2018-09-17   NaN   hger
3 2019-08-05  cdsx    NaN
4 2020-08-05  sdfs    NaN