【问题标题】:How do I find the maximum value of a row index in a numpy array?如何在 numpy 数组中找到行索引的最大值?
【发布时间】:2022-01-12 11:47:01
【问题描述】:

我有以下数组:

a = [[0.         0.        ]
     [0.22333333 0.14333333]
     [0.48166667 0.99      ]
     [0.735      1.66666667]
     [1.02666667 2.16666667]
     [1.43833333 2.66333333]
     [1.71666667 3.15666667]]

我希望能够在特定行索引处找到最大值。例如,第 2 行的最大值为 0.99,第 6 行为 3.15。

我知道我可以使用

np.max(array,axis=1)

产生这个:

[0.         0.22333333 0.99       1.66666667 2.16666667 2.66333333
  3.15666667]

但我只想要一个我感兴趣的行的值。例如,如果我只想要数组中第 2 行的最大值,那么输出值应该看起来像这样:

0.99

【问题讨论】:

  • np.amax(array[2,:])
  • 谢谢!完美地工作。 np.max(array,axis=1)[2]
  • @GLit98 np.max(array,axis=1)[2] 不必要地低效:您仍在计算所有行的最大值,然后丢弃除一个之外的所有行...
  • @Julien 对于我的实际代码,它运行良好,但我没有专门使用“2”。这只是为了示例
  • 无论你使用哪一行,上面的行仍然会计算所有行的最大值,如果你只选择其中一个,这是一种浪费。

标签: python numpy multidimensional-array indexing max


【解决方案1】:

或者类似的东西

np.amax(a[row])

【讨论】:

    【解决方案2】:

    那么只需在您想要的那一行应用max?例如array[2].max()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      • 2016-08-21
      • 2014-05-19
      • 2019-07-10
      • 1970-01-01
      • 2014-04-03
      相关资源
      最近更新 更多