Julia-如何对数组进行排序并获取索引

我必须数组,一个包含权重,另一个包含类别(例如w=[3, 4, 1, 2],x= ["a","b","c","c"])。现在,我想x使用权重数组对数组进行排序。如何用最少的代码做到这一点?有没有办法对数组进行排序并获取相应的索引,以便您可以在任何其他具有相同大小的数组中使用这种新的排序顺序?

我知道可以使用 DataFrames 来做到这一点,但我正在寻找一种方法来做到这一点而不诉诸于那个。

回答

你想要这个sortperm功能。

w = [3, 4, 1, 2]
x = ["a","b","c","d"]
julia> permvec = sortperm(w)
4-element Array{Int64,1}:
 3
 4
 1
 2

julia> xsorted = x[permvec]
4-element Array{String,1}:
 "c"
 "d"
 "a"
 "b"


以上是Julia-如何对数组进行排序并获取索引的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>