我有一个非常大的以下格式的字典{str: [0, 0, 1, 2.5, 0, 0, 0, ...], str: [0, 0, 0, 1.1, 0, 0, ...], ...}
。每个str键的元素数量可能非常大,因此我需要一种有效的方法来存储和计算这些数据。
例如,现在我的str键dict有100个键。每个键都有一个值,它是7000个浮点元素的列表。 str键和值的长度是不变的。所以,让我们说str键长度为5,其值(列表)为7000.
经过一些阅读后,我发现 scipy.sparse 模块有很好的各种矩阵集合来存储稀疏数据,但scipy文档是如此稀疏我几乎无法理解什么& #39;继续。
您能举例说明如何将上面的字典转换为正确的矩阵类型吗?
答案 0 :(得分:1)
使用标准dict
方法,您可以获得密钥列表和另一个值列表。将第二个传递给numpy.array
,你应该得到一个100 x 7000阵列。密钥列表也可以制作成数组,但它可能不比列表更有用。 values数组可以变成稀疏矩阵。但它的大小并不特殊,阵列有更多的方法。
明天我可以根据需要添加示例代码。