简体   繁体   English

Pandas 找到 2 个数据帧之间的共同匹配项

[英]Pandas find common matches between 2 dataframes

I have 2 dataframes and I want to find common matches based on a column (tld), once match has been found, I want to update column match as True.我有 2 个数据框,我想根据列 (tld) 查找常见匹配项,一旦找到匹配项,我想将列匹配更新为 True。 How to update column in destination dataframe?如何更新目标数据框中的列?

Dataframe 1: source数据框 1:

   uuid           website company_name           tld
0     1  www.facebook.com     facebook  facebook.com
1     2     www.yahoo.com    yahoo inc     yahoo.com
2     3    www.google.com       Google    google.com
3     4     www.cisco.com        Cisco     cisco.com

Dataframe 2: destination数据框 2:目的地

  id  website           company_name           tld  match
0  a  www.facebook.com      facebook  facebook.com  False
1  b         www.y.com     Yahoo Inc         y.com  False
2  c         www.g.com        Google         g.com  False
3  d         www.g.com    Google Inc         g.com  False
4  e  www.facebook.com  Facebook Inc  facebook.com  False

Find matches:查找匹配项:

matches = source[source.tld.isin(destination.tld.values)]

Matches火柴

0     1  www.facebook.com     facebook  facebook.com

Destination目的地

  id  website           company_name           tld  match
0  a  www.facebook.com      facebook  facebook.com  True
1  b         www.y.com     Yahoo Inc         y.com  False
2  c         www.g.com        Google         g.com  False
3  d         www.g.com    Google Inc         g.com  False
4  e  www.facebook.com  Facebook Inc  facebook.com  True

Using isin to update:使用isin更新:

df2.loc[df2.tld.isin(df1.tld),'match']=True
df2

Out[669]: 
  id           website company_name           tld  match
0  a  www.facebook.com     facebook  facebook.com   True
1  b         www.y.com     YahooInc         y.com  False
2  c         www.g.com       Google         g.com  False
3  d         www.g.com    GoogleInc         g.com  False
4  e  www.facebook.com  FacebookInc  facebook.com   True

这将实现您想要的:

destination["match"] = destination["tld"].isin(source.tld)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在3个DataFrame之间找到共同的价值? - Find common values between 3 DataFrames? 使用公共关键列pandas查找数据框的任何两列之间的差异 - find difference between any two columns of dataframes with a common key column pandas python / pandas - 查找两个数据框之间的公共列,并创建另一个具有相同列的数据框以显示它们的差异 - python / pandas - Find common columns between two dataframes, and create another one with same columns showing their difference 数据框中常见列之间的精确视觉匹配在合并时不匹配 - Exact visual matches between common columns in dataframes not matching on merge Pandas - 获取与两个数据帧之间的URL匹配的模式 - Pandas - Get pattern that matches a url between two dataframes Pandas style.apply 在 2 个数据帧之间匹配 with.isin - Pandas style.apply matches between 2 dataframes with .isin 熊猫在两个数据框之间进行比较,标记匹配的内容 - Pandas Compare between Two DataFrames, flag what matches 如何比较两个数据框并从列中查找匹配项(熊猫) - How to compare two dataframes and find matches from columns (pandas) 如何找到两个熊猫数据框之间的交集 - How to find interserction between two pandas dataframes Pandas 给定公共列的两个不同大小的数据框之间的算术 - Pandas arthmetic between two different sized dataframes given common columns
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM