如何解决Fuzzywuzzy 列
我正在创建一个基于熊猫、字符串包含和正则表达式的新列。例子:
df.loc[df['random_words'].str.contains(r'^(?=.*SEA)(?=.*MAN)(?!.*WOMAN)(?!.*CHILD)'),'Person'] = 'Fisherman'
代码中有很多词要插入,很多新数据要不断集成到代码中。要搜索的每个文档中的描述每个文档都略有不同。大约有 50 个可能的结果关键字,顺便说一句,它们保持不变。 此外,要查找的单词之间有很多重叠,我也想考虑可能的错字。为了使这个过程更有效、更省时,我现在选择使用 Fuzzy Wuzzy 和 Levenshtein 比率而不是正则表达式。 有人对如何使用 Fuzzy Wuzzy(或其他机器学习/NLP 机制)实现类似于上述输出的正则表达式有任何建议吗?
目前我正在尝试以下函数,该函数将可能的结果词与要扫描的 Excel 列表进行比较(但这不起作用并且不会分配最佳匹配):
comparison = pd.MultiIndex.from_product([df1["A"],df2[B"]]).to_series()
def metrics(tup):
return pd.Series([fuzz.ratio(*tup),fuzz.token_sort_ratio(*tup)],['ratio','token'])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。