在python中更新csr矩阵的元素

时间:2014-05-31 18:49:46

标签: python python-2.7 matrix sparse-matrix

X_Train是csr格式的稀疏22000x97000矩阵,我想更新某些列中的所有元素。

如果我通过for循环执行此操作,则需要花费很多时间:

for i in range(0,21999):
    for x in range(0,75):
      val = X_Train[i,x]
      val = val + 15
      X_Train[i,x] = val

我怎么能以更简单的方式做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您还没有使用它,我建议您使用scipy.sparse.csr_matrix来执行此操作。

您可以构造第二个稀疏矩阵tmp,其中tmp [i,j] == 15表示您要更新的每个元素。然后你可以将操作更改为csr_matrix + csr_matrix,这非常快!