Как получить нечеткие совпадения заданного набора имен в кадре данных полярностей Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить нечеткие совпадения заданного набора имен в кадре данных полярностей Python?

Сообщение Anonymous »

Я пытаюсь реализовать дублирование имен для одного из наших вариантов использования.
Здесь у меня есть набор из 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 │
└───────┴───────────────────┘
""")
Здесь я хотел бы рассчитать нечеткие метрики (Левенштейн, ЯроВинклер) для каждой комбинации имен, используя модуль Rapidxfuzz, как показано ниже.

Код: Выделить всё

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-0 Маллешам Ямулла должно быть в паре с именами, имеющими индексы последовательность (1,9) имена[(0,1),(0,2),(0, 3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9)] и вычислите их аналогичные проценты Левенштейна и Яровринклера.
Следующее имя 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»