我需要从 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()
这应该比构造两个数组快得多。
关于python - 有效地将大量 SciPy 稀疏矩阵条目设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35864149/