相关疑难解决方法(0)

DynamoDB在地图或列表类型上创建索引

我正在尝试为DynamoDB中的地图对象内的属性添加索引,但似乎找不到这样做的方法.这是支持的东西还是索引真的只允许标量值?围绕这个的文档似乎非常稀少.我希望索引功能类似于MongoDB,但到目前为止,我使用点语法引用属性索引的方法还没有成功.我们非常感谢您提供的任何帮助或其他信息.

amazon-web-services amazon-dynamodb

34
推荐指数
1
解决办法
1万
查看次数

python中用于命名缓存文件的最短哈希

python中可用的最短哈希(文件名可用形式,如hexdigest)是什么?我的应用程序想要保存某些对象的缓存文件.对象必须具有唯一的repr(),因此它们用于"种子"文件名.我想为每个对象生成一个可能唯一的文件名(不是那么多).它们不应该发生冲突,但是如果它们发生了我的应用程序将只是缺少该对象的缓存(并且必须重新索引该对象的数据,这是应用程序的一个小成本).

因此,如果存在一个冲突,我们会丢失一个缓存文件,但是收集的缓存所有对象的节省使得应用程序启动速度更快,因此无关紧要.

现在我实际上正在使用abs(hash(repr(obj))); 那是对的,字符串哈希!还没有找到任何碰撞,但我希望有更好的哈希函数.hashlib.md5在python库中可用,但如果放入文件名,则hexdigest非常长.替代方案,具有合理的抗冲击性?

编辑:用例是这样的:数据加载器获取数据携带对象的新实例.独特的类型有独特的repr.因此,如果存在缓存文件hash(repr(obj)),我将取消该缓存文件并将obj替换为unpickled对象.如果发生碰撞并且缓存是假匹配,我注意到.因此,如果我们没有缓存或具有错误匹配,我改为初始化obj(重新加载其数据).

结论(?)

strpython中的哈希可能已经足够好了,我只担心它的碰撞阻力.但是如果我可以2**16用它来散列对象,那就足够了.

我发现如何采用十六进制哈希(来自任何哈希源)并使用base64紧凑地存储它:

# 'h' is a string of hex digits 
bytes = "".join(chr(int(h[i:i+2], 16)) for i in xrange(0, len(h), 2))
hashstr = base64.urlsafe_b64encode(bytes).rstrip("=")
Run Code Online (Sandbox Code Playgroud)

python hash

18
推荐指数
3
解决办法
1万
查看次数

Pandas - 根据行值生成唯一 ID

我想为用户生成一个基于整数的唯一 ID(在我的 df 中)。

假设我有:

index  first  last    dob
0      peter  jones   20000101
1      john   doe     19870105
2      adam   smith   19441212
3      john   doe     19870105
4      jenny  fast    19640822
Run Code Online (Sandbox Code Playgroud)

我想像这样生成一个 ID 列:

index  first  last    dob       id
0      peter  jones   20000101  1244821450
1      john   doe     19870105  1742118427
2      adam   smith   19441212  1841181386
3      john   doe     19870105  1742118427
4      jenny  fast    19640822  1687411973
Run Code Online (Sandbox Code Playgroud)

10 位 ID,但它基于字段的值(john doe 相同的行值获得相同的 ID)。

我研究了散列、加密、UUID,但找不到与这个特定的非安全用例有太多关系。它只是生成一个内部标识符。

  • 如果行的顺序发生变化,我不能使用 groupby/cat 代码类型方法。
  • 数据集不会超过 50k 行。
  • 可以安全地假设不会有第一个,最后一个,dob 重复。

感觉我可能以错误的方式解决这个问题,因为我找不到太多关于它的文献!

谢谢

python hash pandas

5
推荐指数
1
解决办法
6465
查看次数

如何生成唯一的 8 个长度的数字,例如帐户 ID (Python,Django)

我需要为每个用户生成唯一的帐户 ID。(只有数字)UUID 不能解决这个问题,请帮帮我!

python django

2
推荐指数
1
解决办法
6920
查看次数

如何在 Python 中对字符串进行哈希处理

我只想在 Python 3 中对字符串(密码)进行哈希处理。我该怎么做?这样做的简单方法是什么?您能否提供一个编码示例或推荐一个可以使用的模块。

python

0
推荐指数
1
解决办法
1万
查看次数