如何在 numpy 数组中找到行索引的最大值?

Posted

技术标签:

【中文标题】如何在 numpy 数组中找到行索引的最大值?【英文标题】:How do I find the maximum value of a row index in a numpy array? 【发布时间】: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”。这只是为了示例 无论你使用哪一行,上面的行仍然会计算所有行的最大值,如果你只选择其中一个,这是一种浪费。 【参考方案1】:

或者类似的东西

np.amax(a[row])

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于如何在 numpy 数组中找到行索引的最大值?的主要内容,如果未能解决你的问题,请参考以下文章

如何沿一个轴获取 NumPy 数组中最大元素的索引

在numpy数组中找到最大上三角条目索引的有效方法?

numpy数组中的轴索引如何?

如何在 14x14 numpy 矩阵中找到 10 个最高数字的索引? [复制]

如何找到重新排序的 numpy 数组的索引?

在 numpy 数组中查找多个值的行索引