gpt4 book ai didi

python/pandas - 存储二进制列表

转载 作者:太空宇宙 更新时间:2023-11-03 15:28:36 24 4
gpt4 key购买 nike

有谁知道在 Pandas 中存储二进制列表/数组的最有效方法是什么?

我有一个巨大的集合(超过 500 万个)256 位二进制哈希码,我想创建和存储它们,每个哈希码都创建为 bool numpy 数组。

现在,我正在将二进制代码转换为类似“0101010100...”的字符串,并将哈希值存储在 pandas df 的一列中;然而,在读取文件时,从该字符串转换回 bool 数组的操作非常耗时,因此我希望通过找出更好的方法将项目存储在数据框中来优化它。

提前致谢。

最佳答案

您可以将每个数字保存到数据帧的单独列中,这样您就不需要执行任何操作来转换格式,底层的 numpy 数组已经是您想要的 bool 数组:

hash1 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
hash2 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1]

df = pd.DataFrame([hash1, hash2], dtype=bool)

df.iloc[0].values
array([False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, True], dtype=bool)

关于python/pandas - 存储二进制列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036926/

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