我正在使用fuzzywuzzy模糊匹配两个数据帧。我用process设置了75分的分数线。
当没有匹配时,该行的值为'None'。
如何用最常用的名称替换"None"?
from fuzzywuzzy import process
df1['Matched_Nickname_and_Score'] = df1['FNAME'].apply(lambda x:
process.extractOne(x, df2['NICKNAME'].tolist(), score_cutoff = 75))
我有办法找到每一行的最大值,但不知道从这里去哪里
maxValuesObj = df1.max(axis = 1)
这里有一些可能会有所帮助:
df1['Matched_Nickname_and_Score'] = df1['Matched_Nickname_and_Score'].fillna(value=df1.FNAME.mode().values[0])
df1.FNAME.mode().values[0]
将从df1数据框的FNAME列中获得最常用的名称。你只需要用填充这个值,你就会得到你想要的。