numpy的磁盘阵列很大

Ant*_*Bak 6 python arrays numpy sparse-matrix

我有一个稀疏的数组,似乎太大了,无法在内存中有效地处理handel(2000x2500000,float).我可以把它形成一个稀疏的lil_array(scipy),但如果我尝试输出一个列或行压缩的稀疏数组(A.tocsc(),A.tocsr())我的机器内存不足(并且之间也存在严重的不匹配)文本文件4.4G和pickeled lil数组12G中的数据 - 拥有一个更接近原始数据大小的磁盘格式会很不错.

我将来可能会处理更大的阵列.

问题:处理大型磁盘阵列的最佳方法是什么,以便我可以透明地使用常规numpy函数.例如,行和列的总和,矢量积,最大值,最小值,切片等?

是什么方式去pytables?是否有一个好的(快速)sql-numpy中间件层?内置于numpy的磁盘阵列上的秘密?

在过去使用(稍微小一点)的数组时,我总是将长期计算结果缓存到磁盘上.当阵列最终<4G左右但不再成立时,这种方法有效.

NPE*_*NPE 2

我经常使用内存映射numpy数组来处理多千兆字节的数值矩阵。我发现它们非常适合我的目的。显然,如果数据大小超过 RAM 容量,则必须小心访问模式以避免抖动