Возврат соответствующей строки на основе коэффициента fuzzywuzzy

Я использую fuzzy wuzzy для сравнения двух столбцов в двух разных кадрах данных. Я хотел бы получить соответствующее значение в той же строке, но в другом столбце в df2. Например:

Если я в столбце A df1 имеет коэффициент соответствия более 50 со столбцом A df2, я хотел бы получить соответствующее значение в столбце B df2.

мой текущий код:

import pandas as pd
import numpy as np
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
df1=pd.read_csv('C:\\Users\\nkurdob\\Desktop\\Sheet1.csv')
df2=pd.read_csv('C:\\Users\\nkurdob\\Desktop\\Sheet2.csv')


for i in range(len(df1)):
    em = df1['A'][i]
    test = fuzz.partial_ratio(em, df2['A']) 
    while test > 50:
        print df1['Fund Name'][i]==df2['B']

Это переходит в бесконечный вывод - я должен останавливать его каждый раз. Кто-нибудь знает, как получить соответствующую строку в df2 на основе определенного коэффициента соответствия?

Спасибо, Назар.


person Window    schedule 27.02.2017    source источник


Ответы (1)


Замените while на if

Вы уже запустили функцию partial_ratio и получили свой статический результат с именем test. если это> 50, оно всегда будет> 50 в той части вашего кода, которая вызывает бесконечный цикл.

person Corvus Crypto    schedule 27.02.2017
comment
Знаете ли вы, как я могу вернуть соответствующую строку на основе определенного результата отношения? - person Window; 27.02.2017