我正在从一个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])