Python 在numpy数组中找到第三个元素最大的点
亲爱的大家:如果我有一个数组,那么Python 在numpy数组中找到第三个元素最大的点,python,arrays,numpy,Python,Arrays,Numpy,亲爱的大家:如果我有一个数组,那么 a=np.asarray([[1,1,2],[2,3,1]]) 有没有办法找到第三要素最大的点。例如,在本例中,我希望代码返回第二个点,即[1,1,2] 那么应该返回[2,3,1]的第二个最大元素呢 非常感谢您的大力帮助和建议。这是一种更具numpythonic(而非评论)的方式来获得答案, 对于任何利益要素,是: elemNo = 1 a[np.argmax(a[:, elemNo])] 请注意: a[:,elemNo]检索感兴趣的列 np.argma
a=np.asarray([[1,1,2],[2,3,1]])
有没有办法找到第三要素最大的点。例如,在本例中,我希望代码返回第二个点,即[1,1,2]
那么应该返回[2,3,1]的第二个最大元素呢
非常感谢您的大力帮助和建议。这是一种更具numpythonic(而非评论)的方式来获得答案,
对于任何利益要素,是:
elemNo = 1
a[np.argmax(a[:, elemNo])]
请注意:
检索感兴趣的列a[:,elemNo]
在此列中查找最大值的索引np.argmax(…)
a[…]
仅使用此索引检索整行
这个解决方案也应该比map/lambda更快,你能做什么
特别是对于较大的阵列,这一点非常重要。
max(a,key=lambda e:e[2])
?@Chris,很抱歉我的措辞。第一点是[1,1,2],第二点是[2,3,1]。所以,第三个最伟大的元素是在第1点,这是2坦克很多,@Green斗篷家伙,它的工作