gpt4 book ai didi

python - PostgreSQL和Python中的概率记录联动(匹配)

转载 作者:行者123 更新时间:2023-11-29 14:03:07 25 4
gpt4 key购买 nike

我正在尝试匹配两个没有公共(public)键且数据中存在一些错误的表中的记录。具体来说,我在表 A 中有给定组和日期的记录,我想将这些记录与表 B 中具有相同组的记录相匹配,但日期可能不同。此外,某些记录可能仅存在于表 A 或 B 中。

示例表

Table A
=========================
id | group | date | ...
---+-------+--------+----
0 | A | 1/1/15 | ...
1 | B | 1/3/15 | ...
2 | A | 1/5/15 | ...
3 | A | 1/5/15 | ...
: | : | : | :::
99 | Z | 4/5/15 | ...

Table B
=========================
id | group | date | ...
---+-------+--------+----
0 | A | 1/2/15 | ...
1 | A | 1/5/15 | ...
2 | A | 1/6/15 | ...
: | : | : | :::
99 | Z | 4/5/15 | ...

在这里,我希望表 A 中的记录 0 与表 B 中的记录 0 匹配,即使日期不同(但很接近),表 A 中的记录 1 在表 B 中丢失,并且表中可能有多个记录具有相同组和日期的表 A(或 B)(这些不是重复的)。

目前我不匹配日期不同的记录,但我正在丢失可能有用的数据。因此我想迭代地改进匹配,使我有更完整的匹配。我认为概率方法比确定性方法更有意义,但我愿意就此展开争论。

我的第一个问题是什么是正确的工具。目前这些表位于 PostgresSQL 数据库中,并且足够大以至于很难在本地机器上处理它们。然而,我不熟悉在 Postgres 中执行概率连接的任何方式,但我希望 Python 对概率记录链接有良好(足够)的支持。

这可以(应该)在 Postgres 或其他工具(Python)中完成吗?谁能指导我获取任何资源(示例、代码等)?

最佳答案

我广泛使用了 pg_trgm(三克)并开发了一个元素权重层次结构(每个组合或单个元素匹配的评分和权重因子)。如果您按三元组连接,三元组会将“记录”放在一起,然后将分数作为一种排序机制进行评估。

此外,请确保在匹配之前先“标准化”您的数据。

PostGIS 对地址很有用,对性别的一般 x-walk 很有用格式化电话、电子邮件等。

sel * from LIFE;

关于python - PostgreSQL和Python中的概率记录联动(匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29923601/

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