Здесь у меня есть набор из 10 имен вместе с их индексным столбцом, как показано ниже.
Код: Выделить всё
df = pl.from_repr("""
┌───────┬───────────────────┐
│ index ┆ full_name │
│ --- ┆ --- │
│ u32 ┆ str │
╞═══════╪═══════════════════╡
│ 0 ┆ Mallesham Yamulla │
│ 1 ┆ Velmala Sharath │
│ 2 ┆ Jagarini Yegurla │
│ 3 ┆ Sharath Velmala │
│ 4 ┆ Bhavik Vemulla │
│ 5 ┆ Yegurla Mahesh │
│ 6 ┆ Yegurla Jagarini │
│ 7 ┆ Vermula Bhavik │
│ 8 ┆ Mahesh Yegurla │
│ 9 ┆ Yamulla Mallesham │
└───────┴───────────────────┘
""")
Код: Выделить всё
from rapidfuzz import fuzz
from rapidfuzz.distance import Levenshtein,JaroWinkler
Код: Выделить всё
round(Levenshtein.normalized_similarity(name_0,name_1),5)
round(JaroWinkler.similarity(name_0,name_1),5)
Следующее имя idx-1 с индексной последовательностью имен (2,9), idx-2 с индексной последовательностью имен (3,9), idx-3 с индексной последовательностью имен (4,9) и т. д. и т. д. до (8,9)
Ожидаемый результат:
[img]https:/ /i.sstatic.net/Aqs1F.png[/img]
Подробнее здесь: https://stackoverflow.com/questions/740 ... -dataframe