在numpy数组上查找所有最大值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在numpy数组上查找所有最大值相关的知识,希望对你有一定的参考价值。

我想在一个numpy数组中找到所有最大值及其索引。

我正在寻找简单的东西。我开始像data [1:]

import numpy as np

data = np.array([0,1,20,1,0,1,2,30,2,1,0])

A = data[1:] < data[:-1]

谢谢

答案

您可以使用argsort

import numpy as np

data = np.array([0,1,20,1,0,1,2,30,2,1,0])
N = 2 # number of maximums

idx = np.argsort(data)[-N:]
idx
array([2, 7], dtype=int64)
data[idx]
array([20, 30])

以上是关于在numpy数组上查找所有最大值的主要内容,如果未能解决你的问题,请参考以下文章

在 numpy 数组中查找最大 N 个元素的快速方法

一种在 numpy 数组中查找最大 N 个元素的快速方法

在 2D numpy 数组的每个滚动窗口中获取最大值

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

如何使用 numpy 在二维数组上执行最大/均值池化

替换所有小于每行中“n”个最大项目的numpy数组值