mal*_*ngi 4 python numpy matrix scipy sparse-matrix
我有一个大矩阵,目前在numpy,我想移植到scipy稀疏矩阵,因为保存numpy(2000,2000)矩阵的文本表示超过100mb.
(1)似乎scipy中存在稀疏矩阵的过多[例如,lil_matrix或dok_matrix - 哪一个对于简单的递增是最佳的,并且有效地保存到数据库中?
(2)我希望能够像这样处理矩阵中的范围:
>> import numpy as np
>> a = np.zeros((1000,1000))
>> a[3:5,4:7] += 1
Run Code Online (Sandbox Code Playgroud)
对于稀疏矩阵来说,这似乎是不可能的?
我不能说哪个最有效存储.这将取决于您的数据.
我可以说,+=操作员工作,只是你不能依赖通常的阵列广播规则:
>>> m = sparse.lil_matrix((100,100))
>>> m[50:56,50:56]+=scipy.ones((6,6))
>>> m[50,50] #1.0
Run Code Online (Sandbox Code Playgroud)