如何在 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] @GLit98np.max(array,axis=1)[2]
不必要地低效:您仍在计算所有行的最大值,然后丢弃除一个之外的所有行...
@Julien 对于我的实际代码,它运行良好,但我没有专门使用“2”。这只是为了示例
无论你使用哪一行,上面的行仍然会计算所有行的最大值,如果你只选择其中一个,这是一种浪费。
【参考方案1】:
或者类似的东西
np.amax(a[row])
【讨论】:
【参考方案2】:那么只需在您想要的那一行应用max
?例如array[2].max()
【讨论】:
以上是关于如何在 numpy 数组中找到行索引的最大值?的主要内容,如果未能解决你的问题,请参考以下文章