【问题标题】: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)

【问题讨论】:

    标签: python pandas numpy data-science fuzzy


    【解决方案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 即可获得所需的内容。

    【讨论】:

      猜你喜欢
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多