如何从数据框中返回最常用的名称?

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 即可获得所需的内容。

【讨论】:

以上是关于如何从数据框中返回最常用的名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何从数据框中丢弃具有单个字符的名称?

RUBY - 在一系列哈希中找到最常用的药物名称

如何从火花数据框中提取 csv 名称

如何找到使用Python的数据上最常用的单词? [重复]

如何在多个列中找到最常用的值?

如何从自动完成文本框中单击名称?