gpt4 book ai didi

python - 在numpy数组中查找最大元素比较的索引

转载 作者:太空狗 更新时间:2023-10-30 02:16:31 25 4
gpt4 key购买 nike

我有一个数组 a,我想找到 a 中给定值仍然大于的最大元素的位置。

在这个例子中:

a = np.array([0, 50, 5, 52, 60])
v = 55

v 大于的最大元素是 52(索引 3)所以我想返回 3。

numpy 函数 argmax() 不适用于此目的,因为它返回第一个元素。使用 numpy 执行此操作的快速且正确的方法是什么?

最佳答案

您可以结合argmaxwhere :

>>> np.nanargmax(np.where(a < v, a, np.nan))
3

np.where替换 v 以上的所有值至 nan在它适用之前nanargmax (在计算中忽略 nan s):

>>> np.where(a < v, a, np.nan)
array([ 0., 50., 5., 52., nan])

关于python - 在numpy数组中查找最大元素比较的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43707707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com