index milion row square matrix for fast access

时间:2016-02-22 13:11:12

标签: python numpy matrix blaze

我有一些非常大的矩阵(比如百万行的顺序),我不能保留在内存中,我需要在下降时间访问该矩阵的子样本(不到一分钟...)。 我开始关注hdf5并与numpy和pandas结合使用:

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

还有其他解决方案吗?

感谢

修改

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

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

我需要做的是:

  • 仅供阅读
  • 提取矩形子矩阵(大部分沿对角线,但也在外部)

2 个答案:

答案 0 :(得分:1)

你试过PyTables吗?它对于非常大的矩阵非常有用。看看this SO post

答案 1 :(得分:0)

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