在Numpy数组中查找行,最大化某些功能

时间:2015-08-22 18:53:25

标签: python arrays numpy

在Numpy 2d数组中找到行的索引以最大化某些函数的最优雅有效的方法是什么?特别是,我需要找到具有给定向量的最大点积的行。说,我有

a = np.array([[1, 2, 3], [3, 2, 1]])
b = np.array([6, 5, 4])

然后结果应为1,因为np.dot(a[1],b)大于np.dot(a[0],b)

2 个答案:

答案 0 :(得分:4)

简单地:

>>> np.argmax(a.dot(b))
1

np.argmax docs

答案 1 :(得分:0)

这是一种方法:

index = 0
value = 0
for index, entry in enumerate(a):
     if np.dot(entry,b)>value:
         index = index
         value = np.dot(entry,b)

index返回1