Python scipy.sparse.csr_矩阵的最大值

Python scipy.sparse.csr_矩阵的最大值,python,scipy,Python,Scipy,我试图在scipy.sparse矩阵中找到最大值。文档说有一个.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 &l

我试图在scipy.sparse矩阵中找到最大值。文档说有一个.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.sparse导入为sps
>>>a=sps.csr_矩阵((3,3))
>>>a[0,0]=1
>>>a.max()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/scipy/sparse/base.py”,第393行,位于__
提升属性错误(属性+“未找到”)
AttributeError:找不到最大值
知道为什么会这样吗

(我使用的是scipy版本0.11.0)

中的一些考古学显示了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
m=a.data.max()
如果m<0且a.nnz