编程语言
首页 > 编程语言> > python-有效地将大量SciPy稀疏矩阵条目设置为零

python-有效地将大量SciPy稀疏矩阵条目设置为零

作者:互联网

我需要从SciPy稀疏矩阵中删除大量条目.
目前,我将矩阵转换为DOK格式并单独分配
每个条目都为0.

m = m.todok()
for i, j in pruneme:
  m[i,j] = 0

这非常慢.

有没有更快的方法?

解决方法:

只要不添加新的非零值,就可以有效地设置CSR稀疏数组的元素,只需用元组对数组进行下标即可:

i, j = zip(*pruneme) # assuming that pruneme is a python list
m[i, j] = 0.
m.eliminate_zeros()

那应该比构造两个数组快得多.

标签:scipy,matrix,sparse-matrix,python,numpy
来源: https://codeday.me/bug/20191027/1943086.html