假设我有矩阵

import numpy as np
A = np.matrix([[1,2,3,33],[4,5,6,66],[7,8,9,99]])

我正在尝试了解argmax函数,据我所知它返回最大值

如果我在Python上尝试过:
np.argmax(A[1:,2])

我是否应该在第二行中获得最大的元素,直到该行的末尾(即第三行)并沿着第三列?因此应该是数组[6 9],而arg max应该返回9?但是为什么当我在Python上运行它时,它返回值1?

如果我想从第2列开始的第3列(即9)中返回最大的元素,该如何修改代码?

我已经检查了Python文档,但仍然不清楚。感谢您的帮助和解释。

最佳答案

没有argmax返回的位置的最大值。 max返回最大值。

import numpy as np
A = np.matrix([[1,2,3,33],[4,5,6,66],[7,8,9,99]])

np.argmax(A)  # 11, which is the position of 99

np.argmax(A[:,:])  # 11, which is the position of 99

np.argmax(A[:1])  # 3, which is the position of 33

np.argmax(A[:,2])  # 2, which is the position of 9

np.argmax(A[1:,2])  # 1, which is the position of 9

关于python - 了解argmax,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36300334/

10-13 09:49