NumPy http://en.wikipedia.org/wiki/NumPy是一个非常有用的库,通过使用它,我发现它能够轻松处理相当大(10000 x 10000)的矩阵,但开始处理更大的矩阵(尝试创建 50000 x 50000 的矩阵失败) )。显然,这是因为大量的内存需求。
有没有办法以某种方式在 NumPy 中本地创建巨大的矩阵(比如 100 万乘 100 万)(无需几 TB 的 RAM)?
PyTables 和 NumPy 是最佳选择。
PyTables 将以 HDF 格式将数据存储在磁盘上,并可选择压缩。我的数据集通常会进行 10 倍压缩,这在处理数千万或数亿行时非常方便。它也非常快;我的 5 年旧笔记本电脑可以以 1,000,000 行/秒的速度处理数据,执行类似 SQL 的 GROUP BY 聚合。对于基于 Python 的解决方案来说还不错!
再次以 NumPy 重新数组的形式访问数据非常简单:
data = table[row_from:row_to]
HDF 库负责读取相关数据块并转换为 NumPy。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)