【问题标题】:pointwise operations on scipy.sparse matricesscipy.sparse 矩阵的逐点运算
【发布时间】:2011-07-22 20:07:11
【问题描述】:

是否可以将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) 产生 AttributeErrornumpy.exp(x.data) 产生相同的结果。

谢谢!

【问题讨论】:

  • 我认为目前这不适用于任何稀疏矩阵格式。就个人而言,我认为应该制作单独的稀疏函数,而不是减慢常规函数的速度。如 Olivier 所示,解决方法是基本上转换为任何其他稀疏格式并使用 data 属性。 lil 矩阵的 data 属性对此不起作用,因为它是一个对象类型的数组。

标签: python scipy sparse-matrix


【解决方案1】:

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

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

【讨论】:

猜你喜欢
  • 2013-01-08
  • 1970-01-01
  • 2013-08-10
  • 2015-12-22
  • 2023-04-09
  • 1970-01-01
  • 2017-10-29
  • 1970-01-01
  • 2012-05-28
相关资源
最近更新 更多