如何在python中创建非常大的矩阵

时间:2019-03-09 22:24:33

标签: python numpy scipy

假设您要创建一个全为n*n的矩阵。 np.ones可以轻松完成此操作。但是,如果n处于百万级别,则可能会占用太多内存。还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

简短的回答:否

长答案:这取决于您要对该矩阵执行的操作。

例如,如果要存储布尔值,则可以将np.uint8作为dtype参数传递,并将内存使用量减少到四分之一。您还可以使用sparse matrix,其中仅存储非一个值的索引,而仅假设其他所有值均为1。我不确定scipy版本是否适用于全1矩阵或仅全0矩阵。

答案 1 :(得分:0)

您可以使用fn.py框架。它支持无限序列减速。 查看https://github.com/kachayev/fn.py为例。