从一个数组中获取argmax索引,并使用它们从另一个数组中获取值



我正在从一个narray中获取argmax,我必须使用它来从另一个narray中获取元素。

这个用法的一个例子是"get the weight of the highest people"。其中高度在一个数组中,权重在另一个数组中。

我现在的代码是:

a = np.array([[10, 20], [15, 5]])
print(a)
b = np.array([[7, 6], [8, 9]])
a_argmax = a.argmax(axis=0)
print(a_argmax)
print(b)
for i, m in enumerate(a_argmax):
print(b[i, m])

在没有循环的情况下,有可能在一次拍摄中获得相同的结果吗?

您需要b[row , column],使用argmax(0)您可以找到列,对于添加行,您可以使用range(len(a))

>>> b[range(len(a)) , a.argmax(0)]
array([6, 8])

最新更新