Python 最小值和argmin(单位:numpy)

Python 最小值和argmin(单位:numpy),python,numpy,Python,Numpy,给定一个数组,我需要找到最小值和最小值的位置。 这可以通过使用 >>> current_cost array([ 2.54802261, 2.98627555, 0.23873749, 1.82511195, 1.35469083]) >>> current_cost.min() 0.23873748917821858 >>> current_cost.argmin() 2 这个解决方案不是很有效,因为它需要扫描列表两次。 有没有办

给定一个数组,我需要找到最小值和最小值的位置。 这可以通过使用

>>> current_cost
array([ 2.54802261,  2.98627555,  0.23873749,  1.82511195,  1.35469083])
>>> current_cost.min()
0.23873748917821858
>>> current_cost.argmin()
2
这个解决方案不是很有效,因为它需要扫描列表两次。
有没有办法同时获得minimum和agrmin?

如果在内部循环中执行此操作,可能应该使用堆或树。我正在循环中使用它。向量当前成本的值在每次迭代时都会发生变化。确实应该有一个函数“np.argandmin(…)”。当沿着一个轴取多维数组的argmin时,这是如何工作的<代码>最小值=a.argmin(轴=1),
最小值=?
@MartinWiebusch
最小值=当前成本[np.arange(当前成本形状[0]),最小值]
有效;不确定是否有更好的。有np.take_沿_轴()
min_pos = current_cost.argmin()
min_val = current_cost[min_pos]