dask.array.argtopk

dask.array.argtopk

dask.array.argtopk(a, k, axis=- 1, split_every=None)[源代码]

从给定轴上的数组中提取k个最大元素的索引,并按从大到小的顺序返回它们。如果k为负数,则提取-k个最小元素的索引,并按从小到大的顺序返回它们。

k 远小于块大小时,此操作效果最佳。所有结果将沿给定轴以单个块的形式返回。

参数
x: 数组

数据正在排序

k: int
轴: int, 可选
split_every: int >=2, 可选

参见 topk()。topk 的性能考虑也适用于此处。

返回
选择沿给定轴的 x 的 np.intp 索引,大小为 abs(k)。

示例

>>> import dask.array as da
>>> x = np.array([5, 1, 3, 6])
>>> d = da.from_array(x, chunks=2)
>>> d.argtopk(2).compute()
array([3, 0])
>>> d.argtopk(-2).compute()
array([1, 2])