gpt4 book ai didi

python - 验证记录在 Python/PyTables 中唯一性的有效方法

转载 作者:太空狗 更新时间:2023-10-30 02:50:40 25 4
gpt4 key购买 nike

我在 PyTables 中有一个表,其中包含约 5000 万条记录。两个字段(特别是用户 ID 和日期)的组合应该是唯一的(即用户每天最多应该有一条记录),但我需要验证情况是否确实如此。

说明性地,我的表看起来像这样:

userID |   date
A | 1
A | 2
B | 1
B | 2
B | 2 <- bad! Problem with the data!

其他详细信息:

  • 该表目前已“大部分”排序。
  • 我只能勉强拉一根柱子作为一个 numpy 数组进入内存,但是我无法将两个拉入内存同时。
  • userID和date都是整数

最佳答案

PyTables 中的索引似乎仅限于单列。

我建议添加一个哈希列并在其上放置一个索引。您的唯一数据被定义为数据库中其他列的串联。分隔符将确保不会有两个不同的行产生相同的唯一数据。哈希列可以只是这个唯一的字符串,但如果您的数据很长,您将需要使用哈希函数。像 md5 或 sha1 这样的快速散列函数非常适合此应用程序。

计算哈希数据并检查它是否在数据库中。如果是这样,您就知道您遇到了一些重复数据。如果没有,您可以安全地添加它。

关于python - 验证记录在 Python/PyTables 中唯一性的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1315129/

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