Python 记录链接、模糊匹配和去重
Posted
技术标签:
【中文标题】Python 记录链接、模糊匹配和去重【英文标题】:Python Record Linkage, Fuzzy Match and Deduplication 【发布时间】:2018-05-09 08:17:38 【问题描述】:我有 3 个包含 7 列的客户数据集。
客户名称
地址
电话
商店名称
手机
经度
纬度
每个数据集都有 13000-18000 条记录。我试图模糊匹配它们之间的重复数据删除。我的数据集列在此匹配中的权重不同。我怎么能处理???? 你知道适合我的案例的好图书馆吗?
【问题讨论】:
@fgregg 我可以在这种情况下使用重复数据删除吗? 是的,Dedupe 可以在这里工作,只需将 3 个数据集合并为一个并通过 dedupe 运行以获得可能的重复项所需的集群,我已经广泛使用 dedupe 来完成此类任务。 【参考方案1】:我认为 Recordlinkage 库会适合您的目的
您可以使用比较对象,需要各种匹配:
compare_cl.exact('CustomerName', 'CustomerName', label='CustomerName')
compare_cl.string('StoreName', 'StoreName', method='jarowinkler', threshold=0.85, label='surname')
compare_cl.string('Address', 'Address', threshold=0.85, label='Address')
然后定义匹配,您可以自定义您想要的结果,即如果您希望至少匹配 2 个功能
features = compare_cl.compute(pairs, df)
matches = features[features.sum(axis=1) > 3]
【讨论】:
以上是关于Python 记录链接、模糊匹配和去重的主要内容,如果未能解决你的问题,请参考以下文章