4

我有一些非常大的矩阵(比如说百万行的顺序),我无法保存在内存中,我需要在下降时间(不到一分钟......)访问这个矩阵的子样本。我开始结合 numpy 和 pandas 研究 hdf5 和 blaze:

但我发现它有点复杂,我不确定它是否是最好的解决方案。

还有其他解决方案吗?

谢谢

编辑

这里有一些关于我正在处理的数据类型的更多规范。

  • 矩阵通常是稀疏的(< 10% 或 < 25% 的非零单元格)
  • 矩阵是对称的

我需要做的是:

  • 只读访问
  • 提取矩形子矩阵(主要沿对角线,但也在外部)
4

2 回答 2

1

你试过 PyTables 吗?它对于非常大的矩阵非常有用。看看这个 SO 帖子

于 2016-02-22T15:08:57.863 回答
0

您的问题在上下文中有所欠缺;但是对于您描述的这些相对密集的矩阵,hdf5 压缩块存储可能与稀疏存储格式一样有效。在内存中,如果可以的话,您总是可以将您的视图转换为稀疏矩阵。这似乎是一个有效而简单的解决方案;据我所知,没有可以轻松从磁盘部分读取的稀疏矩阵格式。

于 2016-02-24T11:17:47.960 回答