Python 检查两个数据帧之间的公共行,并用df1的值替换第二个数据帧的匹配行
我有两个数据帧,比如说df1和df2。两个数据帧都有相同的列,名为URL和Age。我想检查df2['URL']中的df1['URL'],然后将匹配行的df2['Age']替换为df1['Age'],并保持df2中的其余行不变 df1 df2 现在,我想检查df1['URL']中是否有任何URL存在于df2['URL']中,我想用df1['Age']替换df2['Age'],并保持不常见的URL不变 因此,预期产出将为: df3 map+fillna: map允许我们替换常见URL的年龄,然后.fillna恢复不匹配URL的值。这假设URL是df1中的唯一键:Python 检查两个数据帧之间的公共行,并用df1的值替换第二个数据帧的匹配行,python,pandas,Python,Pandas,我有两个数据帧,比如说df1和df2。两个数据帧都有相同的列,名为URL和Age。我想检查df2['URL']中的df1['URL'],然后将匹配行的df2['Age']替换为df1['Age'],并保持df2中的其余行不变 df1 df2 现在,我想检查df1['URL']中是否有任何URL存在于df2['URL']中,我想用df1['Age']替换df2['Age'],并保持不常见的URL不变 因此,预期产出将为: df3 map+fillna: map允许我们替换常见URL的年龄,然后.f
URL Category Age
google.com [IAB19, Technology & Computing] A
youtube.com [IAB25, Non-Standard Content] H
facebook.co [IAB14, Society] A
amazon.com [IAB22, Shopping] M
wpedia.org [IAB5, Education] E
URL Category Age
google.com [IAB19, BBCA] T
youtube.com [IAB25, AACB] T
facebook.co [IAB14, HLGB T
amazon.com [IAB22, ETCL] T
wpedia.org [IAB5, J TCL] T
example1.com [LHTB, 2213] A
example2.com [OPCL, 9909] A
example3.com [PPRS, 7656] A
URL Category Age
google.com [IAB19, BBCA] A
youtube.com [IAB25, AACB] H
facebook.co [IAB14, HLGB A
amazon.com [IAB22, ETCL] M
wpedia.org [IAB5, J TCL] E
example1.com [LHTB, 2213] A
example2.com [OPCL, 9909] A
example3.com [PPRS, 7656] A
df3 = df2.copy()
df3['Age'] = df3.URL.map(df1.set_index('URL').Age).fillna(df3.Age)
# URL Category Age
#0 google.com [IAB19, BBCA] A
#1 youtube.com [IAB25, AACB] H
#2 facebook.co [IAB14, HLGB A
#3 amazon.com [IAB22, ETCL] M
#4 wpedia.org [IAB5, J TCL] E
#5 example1.com [LHTB, 2213] A
#6 example2.com [OPCL, 9909] A
#7 example3.com [PPRS, 7656] A