Python 3.x 合并两个数据帧并覆盖行

Python 3.x 合并两个数据帧并覆盖行,python-3.x,pandas,Python 3.x,Pandas,我尝试合并两个数据帧- 数据帧1- Product Buyer Date Store TV Person A 9/18/2018 Boston DVD Person B 4/10/2018 New York Blue-ray Player Person C 9/19/2018 Boston Phone Pers

我尝试合并两个数据帧-

数据帧1-

           Product     Buyer       Date       Store
                TV  Person A  9/18/2018      Boston
               DVD  Person B  4/10/2018    New York
   Blue-ray Player  Person C  9/19/2018      Boston
             Phone  Person A  9/18/2018      Boston
      Sound System  Person C  3/05/2018  Washington
数据帧2-

  Product Type     Buyer       Date       Store
            TV  Person B  5/29/2018    New York
         Phone  Person A  2/10/2018  Washington
第一个数据帧约有500k行,而第二个数据帧约有80k行。有时第二个dataframe有主列,但我试图获得最终输出,以显示与dataframe 1相同的列,并使用dataframe 2更新dataframe 1行

输出如下所示-

           Product     Buyer       Date       Store
                TV  Person B  5/29/2018    New York
               DVD  Person B  4/10/2018    New York
   Blue-ray Player  Person C  9/19/2018      Boston
             Phone  Person A  2/10/2018  Washington
      Sound System  Person C  3/05/2018  Washington
我尝试了连接,但列重复。有没有优雅的解决方案

编辑1- 我已经试过了-

pd.merge(df,df_correction, left_on = ['Product'], right_on = ['Product Type'],how = 'outer')



     Product   Buyer_x     Date_x     Store_x Product Type   Buyer_y     Date_y     Store_y
                TV  Person B  5/29/2018    New York           TV  Person B  5/29/2018    New York
               DVD  Person B  4/10/2018    New York          NaN       NaN        NaN         NaN
   Blue-ray Player  Person C  9/19/2018      Boston          NaN       NaN        NaN         NaN
             Phone  Person A  2/10/2018  Washington        Phone  Person A  2/10/2018  Washington
      Sound System  Person C  3/05/2018  Washington          NaN       NaN        NaN         NaN

我认为联合收割机首先是你要寻找的功能

你能试试吗

d1.重命名(列={'ProductType':'Product'})。设置索引(“产品”)。首先合并(d2.设置索引(“产品”)。重置索引()


为什么不在加入后删除不需要的列?您所说的“合并数据帧”是什么意思?也许这会有所帮助:我不能删除不需要的列,因为我甚至不确定第二个数据帧中的列,而且还有100多个列@无脑:我已经试过了,但是已经生成了很多其他的专栏。因此,我得到的列数几乎是原来的两倍。