【问题标题】:How do I get the array with maximum value from an array of arrays only considering one specific elememnt per array如何从数组数组中获取具有最大值的数组,仅考虑每个数组的一个特定元素
【发布时间】:2020-12-22 18:05:26
【问题描述】:

我有一个这样的数组:

[[0, 46.0], [1, 83.0], [2, 111.0], [3, 18.0], [4, 37.0], [5, 55.0], [6, 0.0], [7, 9.0], [8, 9.0]]

我想返回第二个元素最高的数组。在这个例子中:[2, 111]

我该怎么做?

到目前为止,我已经尝试过 numpy.amax(array, axis=0) 和 numpy.amax(array, axis=1)。但是他们没有考虑我的情况,我只想考虑每个数组的最后一个元素。

【问题讨论】:

  • max(my_list, key=lambda x: x[1]) ?
  • @Asocia 您的解决方案适合我。在答案部分中。给出了同样的答案。由于您的答案来得更快,如果您将其发布在答案部分,我会将您的答案视为解决方案。

标签: python-3.x list numpy


【解决方案1】:

您可以将maxkey 参数一起使用:

result = max(arr, key = lambda x : x[1])

【讨论】:

    【解决方案2】:

    如果你的数组是一个numpy数组,你可以使用np.argmax获取索引和切片:

    a[np.argmax(a[:,1])]
    # array([  2., 111.])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      相关资源
      最近更新 更多