Какая функция Юлии возвращает индексы, которые будут сортировать массив. В numpy Python будет использоваться argsort
.отсортированные индексы в Юлии (эквивалент argsort numpy)
Благодаря
Какая функция Юлии возвращает индексы, которые будут сортировать массив. В numpy Python будет использоваться argsort
.отсортированные индексы в Юлии (эквивалент argsort numpy)
Благодаря
julia> r = rand(0:9, 5)
5-element Array{Int64,1}:
5
0
6
1
1
julia> i = sortperm(r)
5-element Array{Int64,1}:
2
4
5
1
3
julia> r[i]
5-element Array{Int64,1}:
0
1
1
5
6
Im не 100% Я понимаю вопрос, но я подозреваю, что вы спрашиваете, является то, что если у вас есть вектор
a = [4,8,2]
вы хотели бы получить
order = [2,3,1]
Если это то, что вам нужно, то я использую сортировки, что является поворотным решением
Если у вас есть вектор,
a = [5,2,8,4,3,1]
создать новый
b = hcat(a, 1:length(a))
5 1
2 2
8 3
4 4
3 5
1 6
тогда вы звоните
c = sortrows(b, by = x -> x[1])
1 6
2 2
3 5
4 4
5 1
8 3
и теперь с [:, 2] будет последний столбец
6
2
5
4
1
3
Конечно, все это может быть прессуют в
sortrows(hcat(a, 1:length(a)), by = x -> x[1])[:,2]
, но я чувствовал, как объяснить, как это работает
Im действительно надеюсь, кто-то разместил лучший способ сделать это, если таковой существует
Посмотрите на 'sortperm'. – DNF