我的数据如下:
array = np.array([1,2],[3,4],[4,5])
如何在所有数组中找到第一个元素[0]的最大值,并获取该特定数组的第二个元素。在这种情况下,将是:所有数组的第一个元素的最大值= 4,此特定数组的第二个元素= 5。
我知道如何使用for循环来执行此操作,但是由于我的数据确实非常大,因此有人对如何简化操作有想法吗?谢谢!
答案 0 :(得分:0)
您需要执行以下操作才能检索“ 5”:
array[np.argmax(array[:,0],axis=0),1]
答案 1 :(得分:0)
如果第一个元素最大的元素多于1个,您要怎么做,例如对于输入:[[1,3],[1,4]]
的输出应该是3
或4
?
无论如何,您无需遵循以下方法即可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]会找到所有此类数组,并由您决定要检查哪个数组