在scipy.sparse矩阵上进行逐点运算
有没有办法把比如说 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