0
在应用函数之后是否有计算数组的最小索引值的方法(即相当于matlab
查找)?具有函数arg的Numpy最小值
换句话说考虑是这样的:
a = [1,-3,-10,3]
np.find_max(a,lambda x:abs(x))
应该返回。
我可以为此写一个循环,但我认为如果存在的话,使用内置的numpy
函数会更快。
在应用函数之后是否有计算数组的最小索引值的方法(即相当于matlab
查找)?具有函数arg的Numpy最小值
换句话说考虑是这样的:
a = [1,-3,-10,3]
np.find_max(a,lambda x:abs(x))
应该返回。
我可以为此写一个循环,但我认为如果存在的话,使用内置的numpy
函数会更快。
使用argmax
,根据文档:
numpy.argmax(一,轴=无,OUT =无)
返回 最大值的索引沿轴线。
参数:a:array_like输入数组。 axis:int,可选通过 默认情况下,索引是放入扁平数组中,否则沿 指定的轴。 out:array,可选如果提供,则结果将插入到此数组中 。它应该是适当的形状和dtype。返回:index_array:ints的ndarray数组索引到 。它具有与形状相同的形状,其中尺寸沿着轴移除。另见ndarray.argmax,argmin
amax沿给定轴的最大值。 unravel_index将一个 平面索引转换为一个索引元组。备注
如果出现多次最大值,则返回与第一次出现相对应的索引 。
import numpy as np
a = [1, -3, -10, 3]
print(np.argmax(np.abs(a)))
输出:
2
只需使用NumPy的funcs中'np.argmax(np.abs(一))'? – Divakar