【发布时间】:2014-07-21 14:50:28
【问题描述】:
我正在尝试找到一种有效的方法,让我将稀疏矩阵的前 k 个值增加某个常数值。我目前正在使用以下代码,这对于非常大的矩阵来说非常慢:
a = csr_matrix((2,2)) #just some sample data
a[1,1] = 3.
a[0,1] = 2.
y = a.tocoo()
idx = y.data.argsort()[::-1][:1] #k is 1
for i, j in izip(y.row[idx], y.col[idx]):
a[i,j] += 1
实际上排序似乎很快,问题在于我的最后一个循环,我通过排序索引来增加值。希望有人知道如何加快速度。
【问题讨论】:
标签: python sorting numpy scipy sparse-matrix