gpt4 book ai didi

python - 在python中存储大量 bool 数据

转载 作者:太空狗 更新时间:2023-10-30 02:22:41 27 4
gpt4 key购买 nike

我需要存储稀疏矩阵数据。数据大小为 10^6 10^4 列。在每一列中,我都存储了一个由 0 组成的向量,除了少数为 true 的值。

然后我需要对每个矩阵中的列求和,并将每一行乘以一个标量。我尝试过字典,但当我需要求和和乘法时它们会失败。

你会用什么?

附言。 numpy.zeros 太小了

最佳答案

两个字典怎么样?假设这是矩阵(x for True):

   0  1  2  3  4  5  6  7
0 x x x
1 x
2 x
3 x
4
5
6 x x
7

你只需要存储

rows = {0: [0, 2, 5], 1: [1], 2: [7], 3: [4], 6: [2, 5]}

你可以轻松地将其转换为

columns = {0: [0], 1: [1], 2: [0, 6], 4: [3], 5: [0, 6], 7: [2]}

使用类似的东西

columns = {}
for row in rows:
for column in rows[row]:
columns.setdefault(column, []).append(row)

然后对列求和 (sum(1 for x in column[2])) 或对行求和,然后将结果乘以任何你想要的值。

关于python - 在python中存储大量 bool 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243004/

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