gpt4 book ai didi

python - numpy 二维数组最大值/argmax

转载 作者:太空狗 更新时间:2023-10-29 22:30:26 25 4
gpt4 key购买 nike

我有一个 numpy 矩阵:

>>> A = np.matrix('1 2 3; 5 1 6; 9 4 2')
>>> A
matrix([[1, 2, 3],
[5, 1, 6],
[9, 4, 2]])

我想获取每行中最大值的索引以及值本身。我可以使用 A.argmax(axis=1) 获取最大值的索引,在这种情况下我会得到:

>>> indices = A.argmax(axis=1)
>>> indices
matrix([[2],
[2],
[0]])

如何使用“索引”数组获取矩阵中每一行的最大值数组?有什么办法可以更有效地或在一次操作中做到这一点?是否有一个函数可以返回值及其行和列坐标?

最佳答案

您可以在第一个维度上使用索引 np.arange(len(A)) 进行花式索引(因为您需要每行一个值),并且您的索引(压缩)对应于第二个维度上每一行的索引:

A[np.arange(len(A)) , indices.squeeze()]
=> matrix([[3, 6, 9]])

关于python - numpy 二维数组最大值/argmax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23584157/

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