我正在尝试在python中学习和实现模糊匹配。我有两个数据集,我作为数据框加载到pandas中。集合1是参考集。 Set 2是包含与引用名称匹配的数据的集合。
我遍历set_1项目以搜索引用中的相应条目,但是我收到错误。我需要一些错误的帮助。
我试图以一种好的方式构建算法吗?
我的尝试:
AttributeError: module 'fuzzywuzzy' has no attribute 'extractOne'
我收到以下错误:
/^[a-zA-Z0-9,.!?\-\+:;() ]*$/
答案 0 :(得分:2)
如果你看一下github上的软件包usage,你会发现extractOne
是fuzzywuzzy.process
中定义的函数,所以你&#39 ; ll需要像这样导入该子模块:
import pandas as pd
from fuzzywuzzy import process # <-- note the difference
from difflib import SequenceMatcher
set_1 = pd.read_csv("C:/Folder/file_1.csv")
set_2 = pd.read_csv("C:/Folder/file_2.csv")
query = set_1['name']
choices = set_2['name2']
for query in query:
# vvvvvvv note the difference
match = process.extractOne(query,choises=choises,scorer=scorer,score_cutoff=cutoff)