在df1中查找行,其中两列与df2中的值匹配,并替换df1中第三列的值

时间:2019-12-20 14:13:45

标签: python python-3.x pandas

我有一个包含RE-SID对的大型数据框df1(约1000行)。

df1

     Run ID                Date        RE ID           SID     
0   112019C 2019-11-20 17:06:00  RE1918920024  C-20EL6-U-00  
1   112019C 2019-11-20 17:10:00  RE1918920024  C-20EL6-U-00  
2   112019C 2019-11-20 17:14:00  RE1918920025  C-20EM4-U-00 
3   112019C 2019-11-20 17:17:00  RE1918920026  C-20EN1-U-00  
4   112019C 2019-11-20 17:21:00  RE1918920027  C-20EP7-U-00  
...........

我确定df1中的某些ID不正确匹配,所以我有另一个具有正确SID的数据框df2(约90行)

     Run ID                Date        RE ID           SID     CORRECTED
0   112019C 2019-11-20 17:06:00  RE1918920024  C-20EL6-U-00  C-20FH4-U-00
1   112019C 2019-11-20 17:10:00  RE1918920024  C-20EL6-U-00  C-20FH4-U-00
2   112019C 2019-11-20 17:14:00  RE1918920025  C-20EM4-U-00  C-20FJ9-U-00
3   112019C 2019-11-20 17:17:00  RE1918920026  C-20EN1-U-00  C-20FK7-U-00
4   112019C 2019-11-20 17:21:00  RE1918920027  C-20EP7-U-00  C-20FL5-U-00

df1["Run ID"]==df2["Run ID"] and df1["RE ID"]==df2["RE ID"] I need to set df1["SID"]=df2["SID"]的主要位置

类似这样的东西

df1.loc[(df["Run ID"]==df2["Run ID"]) & (df1["RE ID"]==df2["RE ID"]),"SID"]

给我一​​个“只能比较标记相同的Series对象”错误。我尝试重置索引并使用.values,但都给我相同的错误

编辑:我忘了提及ID的重复,因此我无法将其设置为索引并以此方式进行

0 个答案:

没有答案