У меня есть следующий фрейм данных:
df = pd.DataFrame(data=[[1, 'Berlin',], [2, 'Paris', ],
[3, 'Lausanne', ], [4, 'Bayswater',],
[5, 'Table Bay', ], [6, 'Bejing',],
[7, 'Bombay',], [8, 'About the IIS']],
columns=['id', 'text'],)
и я хочу использовать jaro_winkler из библиотеки медуз, чтобы вычислить оценку сходства для каждой строки, сравнить со всеми остальными, и вывести наиболее сходную единицу или получить матрицу оценки сходства следующим образом:
str1 str2 str3
str1 1 0.6 0.7
str2 0.6 1 0.3
str3 0.7 0.3 1
как я могу получить этот результат как быстрый путь. Теперь я просто использую цикл для сравнения каждого и сохраняю результат в списке.
def sim_cal(string1, string2):
similar = jellyfish.jaro_winkler(string1, string2)
return similar
Но если данные станут большими, скорость будет очень медленной, так что, если есть какой-либо способ может ускорить?
Спасибо.