gpt4 book ai didi

python - 获取大型稀疏矩阵每行最大值的有效方法

转载 作者:太空狗 更新时间:2023-10-29 23:59:41 27 4
gpt4 key购买 nike

我有一个很大的稀疏矩阵,我想获得每一行的最大值。在 numpy 中,我可以调用 numpy.max(mat, axis=1),但我找不到 scipy 稀疏矩阵的类似函数。有什么有效的方法可以获取大型稀疏矩阵的每一行的最大值吗?

最佳答案

如果您的矩阵,我们称它为 a,以 CSR 格式存储,则 a.data 具有按行排序的所有非零条目,并且 a.indptr 具有每行第一个元素的索引。您可以使用它来计算您想要的内容,如下所示:

def sparse_max_row(csr_mat):
ret = np.maximum.reduceat(csr_mat.data, csr_mat.indptr[:-1])
ret[np.diff(csr_mat.indptr) == 0] = 0
return ret

关于python - 获取大型稀疏矩阵每行最大值的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15992857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com