dask.array.argmax
dask.array.argmax¶
- dask.array.argmax(a, axis=None, keepdims=False, split_every=None, out=None)[源代码]¶
返回沿某个轴的最大值的索引。
此文档字符串是从 numpy.argmax 复制的。
Dask 版本可能存在一些不一致性。
- 参数
- aarray_like
输入数组。
- 轴int, 可选
默认情况下,索引是针对展平的数组,否则沿着指定的轴进行。
- 出数组,可选
如果提供,结果将被插入到这个数组中。它应该具有适当的形状和数据类型。
- keepdimsbool, 可选
如果设置为 True,则被缩减的轴将作为大小为 1 的维度保留在结果中。通过此选项,结果将正确地与数组进行广播。
1.22.0 新版功能.
- 返回
- index_arrayint 的 ndarray
数组的索引数组。它的形状与
a.shape相同,但沿 axis 的维度被移除。如果 keepdims 设置为 True,那么 axis 的大小将为 1,结果数组将具有与a.shape相同的形状。
参见
ndarray.argmax,argminamax沿给定轴的最大值。
unravel_index将一个扁平索引转换为索引元组。
take_along_axis应用
np.expand_dims(index_array, axis)从 argmax 到数组,就像调用 max 一样。
注释
在最大值多次出现的情况下,返回对应于首次出现的索引。
示例
>>> import numpy as np >>> a = np.arange(6).reshape(2,3) + 10 >>> a array([[10, 11, 12], [13, 14, 15]]) >>> np.argmax(a) 5 >>> np.argmax(a, axis=0) array([1, 1, 1]) >>> np.argmax(a, axis=1) array([2, 2])
N维数组中最大元素的索引:
>>> ind = np.unravel_index(np.argmax(a, axis=None), a.shape) >>> ind (1, 2) >>> a[ind] 15
>>> b = np.arange(6) >>> b[1] = 5 >>> b array([0, 5, 2, 3, 4, 5]) >>> np.argmax(b) # Only the first occurrence is returned. 1
>>> x = np.array([[4,2,3], [1,0,3]]) >>> index_array = np.argmax(x, axis=-1) >>> # Same as np.amax(x, axis=-1, keepdims=True) >>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1) array([[4], [3]]) >>> # 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([4, 3])
将 keepdims 设置为 True,
>>> x = np.arange(24).reshape((2, 3, 4)) >>> res = np.argmax(x, axis=1, keepdims=True) >>> res.shape (2, 1, 4)