gpt4 book ai didi

Python recordlinkage 工具包 - 映射未知

转载 作者:行者123 更新时间:2023-11-30 09:51:07 25 4
gpt4 key购买 nike

我正在使用http://recordlinkage.readthedocs.io/en/latest/index.html当数据集 1 中的某些列与数据集 2 中的同一列不一致时,如何提供数据集之间的映射。基本上,映射是未知的,我想指定的是 - Dataset1.Column1 可以映射到 Dataset2.Column1 或 Dataset2.Column2 或 Dataset2.Column3我如何指定相同的比较属性?

compare_cl = rl.Compare(pairs, dfA, dfB)
compare_cl.string(?, ?);

最佳答案

首先,recordlinkage 在比较记录时不会强制执行任何类型的映射,因此您可以比较两个数据帧中的任意两列,无论这些列之前是否已进行过比较。

根据您的情况,您可以执行以下操作:

compare_cl = recordlinkage.Compare(pairs, dfA, dfB)
compare_cl.string('dfA-column-1', 'dfB-column-1')
compare_cl.string('dfA-column-1', 'dfB-column-2')
compare_cl.string('dfA-column-1', 'dfB-column-3')

recordlinkage 只能在各个列之间进行比较。因此,如果您要比较的值出现在多个列中,则需要在预处理阶段或分类阶段解决这个问题。

如果可能的话,尝试通过数据预处理来解决这个问题。我不知道您的问题的具体情况,但听起来您的数据的结构方式可能会导致记录链接困惑,如果不在工作流程的早期解决的话。我强烈建议查看 Hadley Wickham's Tidy Data有关数据清理的入门知识。

如果您要比较的数据可以放入单个列中,请执行此操作。如果dfA中的记录对应于dfB-column-1、或dfB-column-2、或dfB-column- 3,但不是全部三个,您应该考虑是否可以“ reshape ”dfB 来解决您的问题,例如将您的数据转换为"long format"然后使用阻止标准(即使用 recordlinkage.BlockIndex)来忽略无意义的比较。

如果(无论出于何种原因)您在预处理期间无法解决此问题,您可以在将候选链接分类为匹配/不匹配时应用条件。

关于Python recordlinkage 工具包 - 映射未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45013960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com