我使用模糊wuzzy来比较两个不同数据帧中的两列。我想在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中检索相应的行吗?
感谢纳扎尔
发布于 2017-02-28 03:18:25
用if替换while
您已经运行了partial_ratio函数并获得了名为test的静态结果。如果它> 50,那么在你的代码中,它将永远> 50,这会导致无限循环。
https://stackoverflow.com/questions/42493978
复制相似问题