【发布时间】:2022-01-15 00:15:09
【问题描述】:
我有 4 列,分别是 BuisnessID、Name、BuisnessID_y、Name_y,我想将 Name 与 Name_y 匹配,相似度得分为 90%,如果不是 90%,则删除这些行。样本输入
df
BusinessID NAME BusinessID_y NAME_y
1013120869 MANOJ WANKHADE 1013404164 SLIMI
1013120869 MANOJ WANKHADE 1013831688 AMOL SHAHAKAR
1013120869 MANOJ WANKHADE 1013376009 PRATHMESH AGRAWAL
1013120869 MANOJ WANKHADE 1013376009 PRATHMESH AGRAWAL
1013120869 MANOJ WANKHADE 1013478922 AMBRISH PANDRIKAR
我是 python 新手,不知道该怎么做。另外,我有 50 万条记录,所以任何其他快速模糊的方法都会很棒
【问题讨论】:
-
如果您提供您想要实现的快速模糊代码示例,我可以提供进一步的帮助。但简而言之,您需要 pandas 应用功能。 df['score'] = df[['NAME', 'NAME_y']].apply(... some function here...)
-
Rapid-fuzz 是一个库,尽管我愿意使用任何相似度得分比,因为我有大约 50 万条记录@KelvinDucray
标签: python pandas dataframe string-matching rapidfuzz