基于fuzzyfuzzy rati返回对应行

2024-09-28 18:56:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用fuzzywuzzy来比较两个不同数据帧中的两个列。我想在df2中的同一行不同的列中检索相应的值。例如:

如果df1列A中的i与df2列A的匹配比大于50,我想检索df2列B中的相应值

我的当前代码:

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中检索相应的行吗?在

谢谢 纳扎尔


Tags: csvfromtestimportreadasuserspd
1条回答
网友
1楼 · 发布于 2024-09-28 18:56:34

while替换为if

您已经运行了partial_ratio函数并获得了名为test的静态结果。如果它是>;50,它将永远是>;50在您的代码部分造成无限循环。在

相关问题 更多 >