python - 两列之间的模糊匹配(Python)

标签 python python-3.x pandas fuzzywuzzy

我有一个名为“df_combo”的pandas数据框,其中包含“worker_id”“url_entrance”“company_name”列。我正在尝试生成一个输出列,它会告诉我 "url_entrance" 列中的 URL 是否包含 "company_name" 列中的任何单词。即使像 fuzzywuzzy 这样的势均力敌的匹配也可以。

例如,如果 URL 为“www.grandhotelseattle.com”且“company_name”为“Hotel Prestige Seattle”,则模糊率可能为 70-80。

我尝试过以下脚本: >>>fuzz.ratio(df_combo['url_entrance'],df_combo['company_name']) 但它只返回 1 个数字,即整列的总体模糊率。我希望每一行都有模糊比率,并将这些比率存储在新列中。

最佳答案

感谢大家的意见。我已经解决了我的问题! “agg3l”提供的链接很有帮助。我看到的“TypeError”是因为“url_entrance”或“company_name”在某些行中有一些 float 类型。我使用以下脚本将两列转换为字符串,重新运行 fuzz.ratio 脚本并使其正常工作!

df_combo['url_entrance']=df_combo['url_entrance'].astype(str) df_combo['company_name']=df_combo['company_name'].astype(str)

关于python - 两列之间的模糊匹配(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40143675/

相关文章:

python - 为什么添加 1 个打印会杀死我的代码(Python)?

python - eval 列表理解失败

python - 使用 gzip 编码分块下载大文件 (Python 3.4)

python - 转置后如何转置合并相同的列名?

python - 将单独的 Pandas 数据框绘制为具有共享 x 轴的条形图

python - Pandas read_html 给我权限被拒绝(403)

python - 为 Scrapy 安装依赖包

python - 尝试理解使用对象和类的简单 Python 游戏的流程和逻辑

python - 有没有更好的方法来编写这些 if 语句

python - 导入错误 : MagickWand shared library not found[windows]