我有以下问题:我有两个不同长度的panda数据帧,其中包含一些具有公共值的行和列,以及一些不同的行和列,如下所示:df1: df2:
Column1 Column2 Column3 ColumnA ColumnB ColumnC
0 a x x 0 c y y
1 c x x 1 e z z
2 e x x 2 a s s
3 d x x 3 d f f
4 h x x
5 k x x
我现在要做的是合并这两个数据帧,以便如果ColumnA和Column1具有相同的值,则df2中的行将附加到df1中的相应行,如下所示:df1:
Column1 Column2 Column3 ColumnB ColumnC
0 a x x s s
1 c x x y y
2 e x x z z
3 d x x f f
4 h x x NaN NaN
5 k x x NaN NaN
我知道合并是可以通过的df1.merge(df2,left_on='Column1', right_on='ColumnA')
但此命令将删除两个文件中Column1和ColumnA中不相同的所有行。与此相反,我希望将这些行保留在df1中,并在其他行具有df2值的列中为它们分配NaN,如上图所示。在熊猫身上有没有一个很好的方法?
提前谢谢!