У меня есть распределенный массив dask с формой (2400,2400) с размером фрагмента (100,100).Я думал, что мог бы использовать topk (-n), чтобы найти наименьшее n значений.Однако он, похоже, возвращает массив формы (2400, n), поэтому похоже, что он находит наименьшее n в каждой строке. Есть ли способ использовать topk для получения наименьших n значений во всех строках (весь массив)?
Одна идея - вызвать topk дважды, по одному разу для каждой оси.
>>> dist
dask.array<pow, shape=(2400, 2400), dtype=float64, chunksize=(100, 100)>
>>> dist.topk(-5,axis=0).topk(-5,axis=1).compute()
array([[ 0. , 2620.09503644, 2842.15200157, 2955.08409356,
3163.49458669],
[3660.67698657, 3670.4457495 , 3700.09837707, 3717.09052889,
4002.86497399],
[4125.89820524, 4139.44658137, 4250.50420539, 4331.01304547,
4402.14606754],
[4328.22966119, 4378.25193428, 4507.94409903, 4522.4913488 ,
4555.06860541],
[4441.58755402, 4560.95625938, 4576.39333974, 4682.06215251,
4765.11531865]])