我有一组遗留数据,旨在将公司匹配在一起(基于许多不同的因素)。但是,我想仅根据来自不同配置文件的名称(并且可能有细微的差异)对比赛进行一些质量检查。
假设数据集如下:
| 匹配ID | 左名 | 姓名权 |
|---|---|---|
| 1 | 柠檬农场 | 柠檬农场公司 |
| 2 | 桃树 | 桃树农场 |
| 3 | 番茄林 | 橙色猎豹农场 |
他们是用算法还是Python方式来知道例如1和2可能很好匹配而3很不匹配?这,没有任何机器学习等。
我想我需要以某种方式创造一个分数并消除它。但是,如果这是最佳实践,我会喜欢一些意见。
我的一些想法是查看模式、比较集合中的字母等。但是,我无法执行它们。
你可以尝试fuzzywuzzy使用分数,然后你只需要设置分数限制即可
from fuzzywuzzy import fuzz
df['score'] = df[['Name Left','Name Right']].apply(lambda x : fuzz.partial_ratio(*x),axis=1)
df
Out[134]:
Match ID Name Left Name Right score
0 1 LemonFarms Lemon Farms Inc 90
1 2 Peachtree PeachTree Farms 89
2 3 Tomato Grove Orange Cheetah Farm 13
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7349 次 |
| 最近记录: |