Sorting 按第一列对矩阵排序
我在Julia中有这样一个矩阵:Sorting 按第一列对矩阵排序,sorting,matrix,julia,Sorting,Matrix,Julia,我在Julia中有这样一个矩阵: 5×2 Array{Float64,2}: 5.52777 7.51186e15 0.00444418 0.0311171 3.26441 9.72657 3.38447 1.7144e16 0.459852 6.90901 我想按第一列顺序订购,并获得如下内容: 0.00444418 0.0311171 0.459852 6.90901 3.26441 9.72657 3.3844
5×2 Array{Float64,2}:
5.52777 7.51186e15
0.00444418 0.0311171
3.26441 9.72657
3.38447 1.7144e16
0.459852 6.90901
我想按第一列顺序订购,并获得如下内容:
0.00444418 0.0311171
0.459852 6.90901
3.26441 9.72657
3.38447 1.7144e16
5.52777 7.51186e15
我该怎么做呢?您发布的预期结果没有显示您希望按第一列排序,因此不清楚您想要什么 如果要按矩阵的第一列对矩阵进行排序,可以使用sortperm和索引:
julia> m[sortperm(m[:,1]),:]
5×2 Array{Float64,2}:
0.00444418 0.0311171
0.459852 6.90901
3.26441 9.72657
3.38447 1.7144e16
5.52777 7.51186e15
sortperm(m[:,1])
返回第一列的排序索引,然后使用该索引对矩阵进行索引
一个可能更快的替代方法是使用
sortslices(m,dims=1)
,但如果您想按第二列排序,则调用该函数会有点困难…为了清楚起见,在您的示例中,数组已按第一列排序正确吗?复制我预期的结果时出错,更正,不用担心!我很高兴你得到了答案!这正是我想要的。我的问题有一个错误,不清楚,但已更正。