x11*_*341 4 python matrix scipy
在Scipy稀疏lil_matrix对象中找到最大值及其对应的行和列索引的最佳方法是什么?我可以使用itertools.izip遍历非零条目,但有什么更好的吗?我觉得我在这里遗漏了一些明显的东西......
你可以转换为COO格式,然后用data,row和col属性.
例如,假设LIL矩阵是x.这是获取最大值及其行和列的一种方法:
In [41]: x
Out[41]:
<1000x1000 sparse matrix of type '<type 'numpy.float64'>'
with 1999 stored elements in LInked List format>
In [42]: y = x.tocoo()
In [43]: k = y.data.argmax()
In [44]: maxval = y.data[k]
In [45]: maxrow = y.row[k]
In [46]: maxcol = y.col[k]
Run Code Online (Sandbox Code Playgroud)
注意:上面的代码中有两个错误:
k = y.data.argmax()引发异常,因为它y.data是一个空数组.如果您的应用程序中不会发生这些情况,则可以忽略这些错误.
| 归档时间: |
|
| 查看次数: |
2186 次 |
| 最近记录: |