3
我需要按照第三列按升序對Julia中的四列矩陣進行排序,然後按降序對第四列進行排序。Julia:按不同順序排列一列矩陣2列
我需要按照第三列按升序對Julia中的四列矩陣進行排序,然後按降序對第四列進行排序。Julia:按不同順序排列一列矩陣2列
以任意順序對列進行鏈接字典式排序的最簡單方法是通過一個轉換by
函數:sortrows(A, by=x->(x[3],x[4]))
...但這只是字典中列和兩列的升序。 >(X [3], - - X [4])`使用相同的`by`說法,`由= X
julia> A = rand(1:3,6,4)
6x4 Array{Int64,2}:
3 1 1 2
1 1 3 1
1 1 2 1
2 1 3 3
1 3 3 1
2 3 2 3
julia> sortrows(A, lt=(x,y)->isless(x[3],y[3]) || (isequal(x[3],y[3]) && isless(y[4],x[4])))
6x4 Array{Int64,2}:
3 1 1 2
2 3 2 3
1 1 2 1
2 1 3 3
1 1 3 1
1 3 3 1
:爲了做愛好者的行爲,可以通過定製的比較函數到
sortrows
將做第四列的降序(注意減號)。 –當然,但這隻適用於數值數組。 –