栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

pandas模糊合并/匹配名称列,包含重复项

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas模糊合并/匹配名称列,包含重复项

在我看来,这是一些pythonic的代码(在您的示例中),没有显式循环:

def get_donors(row):    d = donors.apply(lambda x: fuzz.ratio(x['name'], row['name']) * 2 if row['Email'] == x['Email'] else 1, axis=1)    d = d[d >= 75]    if len(d) == 0:        v = ['']*3    else:        v = donors.ix[d.idxmax(), ['name','Email','Date']].values    return pd.Series(v, index=['donor name', 'donor email', 'donor date'])pd.concat((fundraisers, fundraisers.apply(get_donors, axis=1)), axis=1)

输出:

      DateEmail        name donor name     donor emaildonor date0 2013-03-27 10:00:00          a@a.ca    John Doe   John Doe          a@a.ca  2013-03-01 10:39:001 2013-03-01 10:39:00          a@a.ca    John Doe   John Doe          a@a.ca  2013-03-01 10:39:002 2013-03-02 10:39:00          d@d.ca  Kathy test   Kat test          d@d.ca  2013-03-27 10:39:003 2013-03-03 10:39:00    asdf@asdf.ca   Tes Ester    4 2013-03-04 10:39:00  something@a.ca    Jane Doe   Jane Doe  something@a.ca  2013-03-04 10:39:00


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645438.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号