【发布时间】:2018-03-30 12:32:26
【问题描述】:
我正在尝试使用模糊匹配来捕捉对验证集的响应列表。
我正在使用以下代码:
for x in rawDatabase.Status:
choice = process.extractOne(x, my_list)
print('choice ',choice)
rawDatabase 数据框中的 Status 列是我要验证的列。 my_list 是要捕捉到的 Status 列中条目的标准化值列表。
使用上面的代码,我得到以下示例输出:
choice ('TRANSFER IN FROM GOVERNMENT DEPARTMENT', 100, 39)
choice ('TRANSFER OUT TO GOVERNMENT DEPARTMENT', 100, 40)
choice ('CURRENT', 100, 1)
choice ('LEAVER - RETIRED', 100, 12)
choice ('CURRENT', 100, 1)
有没有一种方法可以返回最适合正在测试的字符串的值并使用更新后的值更新 rawDatabase 状态列?所以例如我会被退回
choice = 'TRANSFER IN FROM GOVERNMENT DEPARTMENT'
choice = 'TRANSFER OUT TO GOVERNMENT DEPARTMENT'
choice = 'CURRENT'
choice = 'LEAVER - RETIRED'
choice = 'CURRENT'
【问题讨论】:
-
使用
Levenshtein距离或difflib。