我有2个数据帧,我发现基于列(tld)的常见匹配项,一旦找到匹配项(源和目标中的列之间),我需要复制目标数据帧中的列的值吗?
数据框1:来源
uuid website company_name tld
0 11 www.facebook.com facebook facebook.com
1 22 www.yahoo.com yahoo inc yahoo.com
2 33 www.google.com Google google.com
3 44 www.cisco.com Cisco cisco.com
数据框2:目标
id website company_name tld match uuid
0 a www.facebook.com facebook facebook.com False NaN
1 b www.y.com Yahoo Inc y.com False NaN
2 c www.g.com Google g.com False NaN
3 d www.g.com Google Inc g.com False NaN
4 e www.facebook.com Facebook Inc facebook.com False NaN
找到matches:
destination.loc[destination.tld.isin(source.tld),'match'] = True
我需要将UUID列从源复制到UUID列 在目标数据框中。
id website company_name tld match uuid
0 a www.facebook.com facebook facebook.com True 11
1 b www.y.com YahooInc y.com False NaN
2 c www.g.com Google g.com False NaN
3 d www.g.com GoogleInc g.com False NaN
4 e www.facebook.com FacebookInc facebook.com True 11
答案 0 :(得分:0)
这是您需要的吗?
df2.merge(df1[['tld','uuid']],on='tld',how='left')
Out[677]:
id website company_name tld match uuid
0 a www.facebook.com facebook facebook.com True 1.0
1 b www.y.com YahooInc y.com False NaN
2 c www.g.com Google g.com False NaN
3 d www.g.com GoogleInc g.com False NaN
4 e www.facebook.com FacebookInc facebook.com True 1.0