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

如何基于一个公共列但不同的内容合并/扩展两个python数据帧?,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我想合并两个数据帧,但没有得到正确的结果。 df1如下所示: Date Name1 0 2018-08-05 abc 1 2019-08-05 cdsx 2 2020-08-05 sdfs 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

我想合并两个数据帧,但没有得到正确的结果。 df1如下所示:

         Date Name1
0  2018-08-05   abc
1  2019-08-05  cdsx
2  2020-08-05  sdfs
         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
像这样的df2

         Date  Name2
0  2017-06-02  dfdds
1  2018-09-17   hger
我想合并这两个数据帧,得到如下df3:

         Date Name1
0  2018-08-05   abc
1  2019-08-05  cdsx
2  2020-08-05  sdfs
         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有一个公共列:Date,但没有相同的信息

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


有谁能给我一些解决这个问题的建议吗?

使用外部
排序=True

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

使用outer
sort=True

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