使用Python和NumPy的超大型矩阵

发布于 2021-02-02 23:15:13

NumPy是一个非常有用的库,通过使用它,我发现它能够轻松处理非常大的矩阵(10000 x 10000),但是开始处理任何更大的矩阵(尝试创建50000 x 50000的矩阵)失败)。显然,这是因为需要大量内存。

是否有一种方法可以以某种方式(没有几个terrabytes的RAM)在NumPy中本地创建大型矩阵(比如说一百万乘一百万)?

关注者
0
被浏览
95
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    PyTables和NumPy是必经之路。

    PyTables将以HDF格式(可选压缩)将数据存储在磁盘上。我的数据集经常得到10倍压缩,这在处理数千万或几亿行时非常方便。它也非常快。我5岁的笔记本电脑可以像SQL一样执行GROUP BY聚合,处理数据的速度为1,000,000行/秒。对于基于Python的解决方案来说还不错!

    再次作为NumPy重新数组访问数据非常简单:

    data = table[row_from:row_to]
    

    HDF库负责读取相关的数据块并将其转换为NumPy。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看