gpt4 book ai didi

sorting - 在 julia 中对每个矩阵列进行排序

转载 作者:行者123 更新时间:2023-12-04 15:06:17 24 4
gpt4 key购买 nike

我有 4 个学生在 3 次不同考试中的分数矩阵 (m)。

4 3 1
3 2 5
8 4 6
1 5 2

我想知道每个学生在哪些考试中表现最好和最差。期望的输出:

1 2 3
2 3 1
1 3 2
3 1 2

现在,我是这门语言的新手(一般来说是编码),所以我阅读了 GeeksforGeeks 的 page on sorting in Julia并尝试过

mapslices(sortperm, -m; dims = 2)

然而,这给出了一些微妙的不同:每一行的矩阵是排序的索引

1 2 3
3 1 2
1 3 2
2 3 1

也许这很明显,但我现在意识到这实际上不是我想要的,但我找不到完成此操作的内置函数/快速方法。有任何想法吗?最好不要遍历矩阵/行中的项目,因为实际上我的矩阵非常非常大。谢谢!

最佳答案

此类功能由 StatsBase.jl 提供。这是一个例子:

julia> using StatsBase

julia> m = [4 3 1
3 2 5
8 4 6
1 5 2]
4×3 Array{Int64,2}:
4 3 1
3 2 5
8 4 6
1 5 2

julia> mapslices(x -> ordinalrank(x, rev=true), m, dims = 2)
4×3 Array{Int64,2}:
1 2 3
2 3 1
1 3 2
3 1 2

您可能想要使用其他排名,具体取决于您想要如何拆分领带,请参阅 here了解详情。

关于sorting - 在 julia 中对每个矩阵列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66021712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com