我试图在scipy.sparse矩阵中找到最大值。文档here表示存在.max方法。但奇怪的是,这对我来说并不适用:
>>> import scipy.sparse as sps
>>> a = sps.csr_matrix((3,3))
>>> a[0,0] = 1
>>> a.max()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/scipy/sparse/base.py", line 393, in __getattr__
raise AttributeError(attr + " not found")
AttributeError: max not found
知道为什么会这样吗?
(我使用的是scipy版本0.11.0)
答案 0 :(得分:1)
scipy docs website中的一些考古学显示该方法是在scipy 13.0中引入的。
如果您不想升级,可以使用a.data.max()
获取稀疏矩阵的非零条目的最大值。
如果你想要它也是最大值,考虑到零,这就是.max()
方法的作用,做一些类似的事情:
m = a.data.max()
if m < 0 and a.nnz < a.shape[0]*a.shape[1]:
m = 0