python - python - 模糊匹配,循环遍历一个数据集,在参考集中找到对应的项目
问题描述
我正在尝试在 python 中学习和实现模糊匹配。我有两个数据集,我将它们作为数据帧加载到熊猫中。集 1 是参考集。集二是包含与参考名称匹配的数据的集。
我遍历 set_1 项以搜索参考中的相应条目,但出现错误。我需要一些帮助来解决这个错误。
我是否试图以一种好的方式构造算法?
我的尝试:
import pandas as pd
import fuzzywuzzy as fuzzy
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:
match = fuzzy.extractOne(query,choises=choises,scorer=scorer,score_cutoff=cutoff)
我收到以下错误:
AttributeError: module 'fuzzywuzzy' has no attribute 'extractOne'
解决方案
如果您在 github 上查看包的用法extractOne
,您会注意到这是一个定义在 中的函数fuzzywuzzy.process
,因此您需要像这样导入该子模块:
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)
推荐阅读
- c++ - 在调用者和被调用者中共享pointee不一样
- c# - 在 sql asp.net 中获取过去 30 天未登录的用户
- ios - 如何根据 xCode 中设备的屏幕尺寸更改约束在一起的按钮的尺寸?
- sapui5 - 视图加载了两次
- javascript - Ajax 表单提交适用于 Chrome,但不适用于 Firefox
- javascript - HTML 在 Fiddle 中有效,但在本地无效
- rust - 如何为 Cargo.toml 中的 [build-dependencies] 生成 rustdoc 文档?
- c# - 没有基本情况的递归?这个函数如何终止?
- jqgrid - 带有分隔符和比例值的 jqgrid 数字格式化程序
- c - 使用自制的 strstr() 函数检查其他字符串中的嵌入字符串,然后用其他字符串替换它(由用户输入)