gpt4 book ai didi

python稀疏矩阵获取最大值和索引

转载 作者:太空狗 更新时间:2023-10-30 01:27:34 27 4
gpt4 key购买 nike

我有一个稀疏矩阵A(在稠密中等于10 * 3),比如:

print type(A)
<class scipy.sparse.csr.csr_matrix>

print A
(0, 0) 0.0160478743808
(0, 2) 0.0317314165078
(1, 2) 0.0156596521648
(1, 0) 0.0575683686558
(2, 2) 0.0107481166871
(3, 0) 0.0150580924929
(3, 2) 0.0297743235876
(4, 0) 0.0161931803955
(4, 2) 0.0320187296788
(5, 2) 0.0106034409766
(5, 0) 0.0128109177074
(6, 2) 0.0105766993238
(6, 0) 0.0127786088452
(7, 2) 0.00926522256063
(7, 0) 0.0111941023699

每列的最大值是:

print A.max(axis=0)
(0, 0) 0.0575683686558
(0, 2) 0.0320187296788

我想获取列值对应的索引。我知道

A.getcol(i).tolist()
将向我返回允许我使用 argmax() 函数的每一列的列表,但这种方式真的很慢。我想知道有什么下降方法吗?

最佳答案

获取每个矩阵列中的 max 和 argmax 值的更有效方法是简单地使用 scipy.sparse native 函数:

  • A在每个矩阵列中的最大值:

    max_values = A.max(axis=0)

  • 每个矩阵列中 A 的最大参数:

    max_args = A.argmax(axis=0)

计算每个矩阵行中的最大值和 arg max(使用 axis=1)或计算所有矩阵的最大值和 arg max(使用 axis=None).

关于python稀疏矩阵获取最大值和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38310087/

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