python - 使用fuzzywuzzy匹配熊猫数据框中的字符串
问题描述
我有两个数据框:Instructor_Info 和 Operator_Info
Instructor_Info 包含一个名为 Names 和 OperatorName 的列,而 Operator_Info 也有一个名为 Names 的列。Instructor_Info 中的所有名称在 Operator Info 中都有一个关联名称。我想使用 fuzz.token_sort_ratio() 通过将 Instructor_Info 中的每个名称与 Operator_Info 中的每个名称进行比较并将得分最高的字符串存储在 OperatorName 列中来查找这些匹配项。
这是我到目前为止所拥有的:
for index, row in Instructor_Info.iterrows():
match = 0
for index1,row1 in Operator_Info.iterrows():
if fuzz.token_sort_ratio(row['Names'],row1['Names']) > match:
row['OperatorName'] = row1['Names']
这段代码运行速度非常慢,并且得到了几个错误的匹配(我可以手动修复这些,所以速度是主要问题)。如果有人有任何更快的想法,将不胜感激。提前致谢。
解决方案
推荐阅读
- angular - 合并json对象
- amazon-web-services - 我们可以在不使用 Internet 网关的情况下设置 VPC 对等互连吗?
- ios - 水平条形图 Swift
- javascript - 如何通过 Haxe 放大从 ImageData 绘制到画布?
- java - Drools:drl 文件变量
- ms-access - Windows CE 应用程序 - Microsoft Access 数据库
- django - Block.objects.get(id=block_id, 1) 如果 id 为 null,则默认获取“1”
- javascript - 当用户在 textarea 唯一数据中输入时更改处理程序值
- validation - Android Databinding TextEdit Validation of two or more fields enable button
- kubernetes - 如何在 istio 中调试 QuotaSpecBinding 的速率限制?