Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scipy.sparse矩阵上的逐点运算_Python_Scipy_Sparse Matrix - Fatal编程技术网

Python scipy.sparse矩阵上的逐点运算

Python scipy.sparse矩阵上的逐点运算,python,scipy,sparse-matrix,Python,Scipy,Sparse Matrix,是否可以对scipy.sparse.lil_矩阵或其他稀疏矩阵格式中的所有元素应用例如numpy.exp或类似的逐点运算符 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,而num

是否可以对
scipy.sparse.lil_矩阵
或其他稀疏矩阵格式中的所有元素应用例如
numpy.exp
或类似的逐点运算符

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)
产生相同的结果


谢谢

我不知道全部细节,但转换为另一种类型是可行的,至少在使用非零元素数组时是这样:

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

对正如文档中所说,lil格式主要用于构建不执行操作的稀疏数组。文档建议在构建阵列后进行此转换。我认为目前在任何稀疏矩阵格式中都无法进行此转换。就我个人而言,我认为应该创建单独的稀疏函数,而不是减慢常规函数的速度。如Olivier所示,解决方法是转换为基本上任何其他稀疏格式,并处理
数据
属性。lil矩阵的data属性对此不起作用,因为它是object类型的数组。