在scipy.sparse矩阵上进行逐点运算

7 投票
1 回答
1348 浏览
提问于 2025-04-16 14:24

有没有办法把比如说 numpy.exp 或者类似的逐点运算应用到所有的 scipy.sparse.lil_matrix 或其他稀疏矩阵格式的元素上呢?

import numpy
from scipy.sparse import lil_matrix

x = numpy.ones((10,10))
y = numpy.exp(x)

x = lil_matrix(numpy.ones((10,10)))
# y = ????

使用 numpy.exp(x)scipy.exp(x) 会出现 AttributeError 错误,而 numpy.exp(x.data) 也会出现同样的错误。

谢谢!

1 个回答

6

我不太清楚具体的细节,不过把数据转换成另一种类型是可行的,至少在使用非零元素的数组时是这样:

xcsc = x.tocsc()
numpy.exp(xcsc.data) # works

撰写回答