Python 在Numpy数组中寻找最大化某些函数的行
在Numpy 2d数组中找到一行索引的最优雅、最有效的方法是什么?特别是,我需要找到与给定向量有最大点积的行。说吧,我有Python 在Numpy数组中寻找最大化某些函数的行,python,arrays,numpy,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),简单地说: >>> np.argmax(a.dot(b)) 1 以下是一种方法: index = 0 value = 0 for index, ent
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)
,简单地说:
>>> np.argmax(a.dot(b))
1
以下是一种方法:
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
如果有多行达到最大值,您希望发生什么情况?@DSM其中任何一行都可以。是的,这就是我要找的。谢谢