给定一个形状为 1.000.000 x 70.000
的 scipy.sparse.coo_matrix
类型的稀疏矩阵R
我想通了
row_maximum = max(R.getrow(i).data)
会给我第 i 行的最大值。
我现在需要的是值row_maximum
对应的索引。
有什么想法可以实现吗?
提前感谢您的任何建议!
最佳答案
getrow(i)
返回一个 1 x n CSR 矩阵,它有一个 indices
给出 data
中相应值的行索引的属性属性。 (我们知道形状是 1 x n,所以我们不必处理 indptr
属性。)所以这会起作用:
row = R.getrow(i)
max_index = row.indices[row.data.argmax()] if row.nnz else 0
我们必须处理 row.nnz
的情况单独为 0,因为 row.data.argmax()
如果 row.data
将引发异常是一个空数组。
关于python - 给定一个类型为 `scipy.sparse.coo_matrix` 的矩阵,如何确定每一行的索引和最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9268710/