Я создал функцию для вычисления расстояния Левенштейна (L.distance) двух переменных в python при использовании пакета Левенштейна. Тем не менее, я получаю TypeError («ожидаемое расстояние двух строк или двух Unicodes»), когда я пытаюсь применить функцию. Однако обе переменные, которые я использую для вычисления L.distance, являются строками.
Я попробовал цикл for, затем снял его, посмотрев на другой онлайн-скрипт, который реализует L.distance. Я создал тестовый фрейм данных, в котором используются только отдельные слова, сравниваемые друг с другом, поскольку я подумал, что это может быть проблемой (я сравниваю названия компаний, которые могут иметь много слов, а не только отдельные слова)
lst=['bear', 'tomato', 'green', 'snake']
lst2 =['baear', 'tomato', 'grean', 'snake']
dftest=pd.DataFrame(list(zip(lst,lst2)), columns =['lst1', 'lst2'])
result= []
def distancefinder(string1, string2):
for string1, string2 in something:
stringdist = lv.distance(string1, string2)
result.append(stringdist)
return (result)
dftest['lv_matchscore'] = distancefinder(dftest.lst1, dftest.lst2)
Ожидаемый результат - это расчетное расстояние L. двух переменных.