numpy:如何将一个数组的最大值选择为另一个数组

时间:2019-01-22 11:20:49

标签: python numpy

我的数据如下:

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

如何在所有数组中找到第一个元素[0]的最大值,并获取该特定数组的第二个元素。在这种情况下,将是:所有数组的第一个元素的最大值= 4,此特定数组的第二个元素= 5。

我知道如何使用for循环来执行此操作,但是由于我的数据确实非常大,因此有人对如何简化操作有想法吗?谢谢!

3 个答案:

答案 0 :(得分:0)

您需要执行以下操作才能检索“ 5”:

    array[np.argmax(array[:,0],axis=0),1]

答案 1 :(得分:0)

如果第一个元素最大的元素多于1个,您要怎么做,例如对于输入:[[1,3],[1,4]]的输出应该是34? 无论如何,您无需遵循以下方法即可numpy

data = [[1,2],[3,4],[4,5]]
m = max(data,key=lambda x:x[0])[1]
print(m) #prints 5
如果将中线替换为

,则将获得第一个最大值     m =最大值(数据)[1] 它会在最大的第一个值中获得最大的第二个值

答案 2 :(得分:-1)

1)查找第一个元素的MAX VALUE索引

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

在第一个元素中搜索该值

index = np.where(array[:,0] == np.amax(array[:,0]))

2)找到第二个元素

element = array[index][0][1]

请注意,第一个元素之间可以有更多的最大值 因此array [index]会找到所有此类数组,并由您决定要检查哪个数组