在Numpy数组中寻找最大化某个函数的行

2024-04-19 09:50:59 发布

您现在位置:Python中文网/ 问答频道 /正文

在一个最大化某个函数的numpy2d数组中,找到一行的索引最优雅、最有效的方法是什么?特别是,我需要找到与给定向量的最大点积的行。说吧,我有

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)。你知道吗


Tags: 方法函数np数组array向量dotnumpy2d
2条回答

简单地说:

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

^{} docs

这里有一个方法:

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

相关问题 更多 >