蟒蛇/熊猫 - 存储二进制列表



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

我有一大堆(500万+(256位二进制哈希代码,我想创建和存储,每个代码都是作为布尔numpy数组创建的。

现在,我正在将二进制代码转换为类似"0101010100..."的字符串,并将哈希存储在熊猫 df 的一列中;但是,在读取文件时,从此字符串转换回布尔数组的操作非常耗时,因此我希望通过找出一种更好的方法来优化这一点在数据帧中存储项目。

提前谢谢。

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

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)

最新更新