dask.array.argmin

dask.array.argmin

dask.array.argmin(a, axis=None, keepdims=False, split_every=None, out=None)[源代码]

返回沿某个轴的最小值的索引。

此文档字符串是从 numpy.argmin 复制的。

Dask 版本可能存在一些不一致性。

参数
aarray_like

输入数组。

int, 可选

默认情况下,索引是针对展平的数组,否则沿着指定的轴进行。

数组,可选

如果提供,结果将被插入到这个数组中。它应该具有适当的形状和数据类型。

keepdimsbool, 可选

如果设置为 True,则被缩减的轴将作为大小为 1 的维度保留在结果中。通过此选项,结果将正确地与数组进行广播。

1.22.0 新版功能.

返回
index_arrayint 的 ndarray

数组的索引数组。它的形状与 a.shape 相同,但沿 axis 的维度被移除。如果 keepdims 设置为 True,那么 axis 的大小将为 1,结果数组将具有与 a.shape 相同的形状。

参见

ndarray.argmin, argmax
amin

沿给定轴的最小值。

unravel_index

将一个扁平索引转换为索引元组。

take_along_axis

应用 np.expand_dims(index_array, axis) 从 argmin 到一个数组,就像调用 min 一样。

注释

如果存在多个最小值,则返回与第一个最小值对应的索引。

示例

>>> import numpy as np  
>>> a = np.arange(6).reshape(2,3) + 10  
>>> a  
array([[10, 11, 12],
       [13, 14, 15]])
>>> np.argmin(a)  
0
>>> np.argmin(a, axis=0)  
array([0, 0, 0])
>>> np.argmin(a, axis=1)  
array([0, 0])

N 维数组的最小元素的索引:

>>> ind = np.unravel_index(np.argmin(a, axis=None), a.shape)  
>>> ind  
(0, 0)
>>> a[ind]  
10
>>> b = np.arange(6) + 10  
>>> b[4] = 10  
>>> b  
array([10, 11, 12, 13, 10, 15])
>>> np.argmin(b)  # Only the first occurrence is returned.  
0
>>> x = np.array([[4,2,3], [1,0,3]])  
>>> index_array = np.argmin(x, axis=-1)  
>>> # Same as np.amin(x, axis=-1, keepdims=True)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1)  
array([[2],
       [0]])
>>> # Same as np.amax(x, axis=-1)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1),  
...     axis=-1).squeeze(axis=-1)
array([2, 0])

keepdims 设置为 True

>>> x = np.arange(24).reshape((2, 3, 4))  
>>> res = np.argmin(x, axis=1, keepdims=True)  
>>> res.shape  
(2, 1, 4)