如何从数据框中返回最常用的名称?
Posted
技术标签:
【中文标题】如何从数据框中返回最常用的名称?【英文标题】:How to return most common name from dataframe? 【发布时间】:2021-11-05 10:05:52 【问题描述】:我正在使用fuzzywuzzy 对两个数据帧进行模糊匹配。我将截止分数设置为 75,使用 process.extractOne 获得最高匹配。
只要不匹配,该行的值为“无”。
如何用最常用的名称替换“无”?
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)
【问题讨论】:
【参考方案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 列中获取最常用的名称。您只需要使用具有该值的 fillna 即可获得所需的内容。
【讨论】:
以上是关于如何从数据框中返回最常用的名称?的主要内容,如果未能解决你的问题,请参考以下文章