Переделать фрейм данных, основанный на нечетких совпадениях - PullRequest
1 голос
/ 19 января 2020

У меня есть датафреймы, теперь у него 5 строк (в будущем их будет больше). В именах столбцов есть 5 значений, если эти 5 имен совпадают (их fuzz.ratio близки друг к другу), то никаких изменений не требуется. Но есть случаи, когда: 4 значения хорошие (их fuzz.ratio близки) и 1 значение разные, плохие. 3 значения хорошо, 2 плохо, 3 значения хорошо, 1 плохо и 1 плохо. 2 значения одинаковые, 2 других одинаковые и 1 разные, плохие. 2 значения одинаковые, остальные 1 и 1 и 1 значения плохие. Поэтому мне нужны кадры данных, где как минимум 2 строки одинаковы, 3 лучше, 4 хорошо, 5 лучше. Вот простой пример, конечно, у ряда будет индекс строки, основанный на том, что будет легче выбрать нужные строки.

fruits_4_1 = ['banana', 'bananas', 'bananos', 'banandos','cherry']
fruits_3_2 = ['tomato','tamato','tomatos','apple','apples']
fruits_3_1_1 = ['orange','orangad','orandges','ham', 'beef']
fruits_2_2_1 = ['kiwi', 'kiwiss', 'mango','mangas', 'grapes']
fruits_2_1_1_1 = ['kiwi', 'kiwiss', 'mango','apples', 'beefs']
for f in fruits_4_1:
    score_1 = process.extract(f, fruits_2_1_1_1, limit=10, scorer=fuzz.ratio)
    print(score_1)

Мне нужно реализовать logi c, который будет проверять серии данных и определить, какой это тип 4 + 1 \ 3 + 2 и т. д. c. И на основе этого будут создаваться новые кадры данных, имеющие только похожие строки. Как мне это сделать?

...