【发布时间】:2018-08-30 01:34:01
【问题描述】:
我正在做一个类似的项目:Data matching algorithm
其中,我有一个包含客户详细信息的数据框 (dataset1),没有特殊的唯一 ID,然后将其与具有相同字段和特殊唯一 ID 的数据框 2 (dataset2) 进行匹配。
示例: Dataset1 列包括:
头衔、姓氏、名字、中间名/其他名字、地址、出生日期、性别、医疗号码
dataset2 列包括:
唯一 ID、头衔、姓氏、名字、中间名/其他名称、地址、出生日期、性别、医疗号码
我的计划:
我的数据集 1 约为 500,000 行,大约 11 列 - 如果需要,可以拆分行数。数据集 2 约为 2,000,000
基于来自企业的匹配标准,例如。 >5 列必须匹配,并且可能是一个模糊组件,例如在一个数据集中连字符(包括其他特殊字符)但在另一个数据集中没有连字符的名称。
根据近似匹配,此 ID 和数据集 2 中的字段被复制到相邻列中的数据集 1 中,以及整体匹配百分比。
然后,企业可以提取和检查整体匹配百分比范围。
我计划将 Panda 与 Fuzzywuzzy 一起使用。 我无法根据代码逻辑规划我的技术方法。
我是否应该在第一个字段中查找匹配项,然后过滤下一列,等等?我认为是这样,但是循环如何在两个比较数据集中的列之间移动? 我需要将每个比较操作写回数据集中存储还是可以保存在其他地方?
另一种可行的方法是,我将所有列连接到一个列中,然后匹配这些列,并返回匹配的 ID、其他字段和匹配的 %。
我正在寻找最佳的前进方向,以及最佳方式的一般逻辑。
【问题讨论】:
标签: python pandas dataset fuzzywuzzy