gpt4 book ai didi

c# - 如何计算集合中值的百分位数或排名?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:29 27 4
gpt4 key购买 nike

我在一个 XML 文件中收集了大约 8,000 个测试分数。使用 Linq 和 C#,计算特定测试分数的百分位数的最有效方法之一是什么。

我强调的是效率。那么推荐的方法是什么?我也在寻找为此计算推荐的合适的内置 Linq 或 C# 函数。有没有叫做 Percentile() 或 TopPercent 的东西?

最佳答案

这听起来像是在确认您需要担心效率之前担心效率。

我会采取以下方法:

  • 使用 LINQ to XML(作为 .NET 中最简单的 XML API)将 XML 文件加载到内存中
  • 将分数转换为整数列表(或任何分数类型)
  • 您现在可以轻松找出总数
  • Count 与谓词一起使用,找出有多少分数低于您的“目标”分数

如果您需要检查多个分数,您显然需要重复最后一步。

第一次尝试对此进行优化(用于多次检查)是对列表进行排序,这样您就可以进行二进制搜索以找到每个分数的排名。不过,我只会在基准测试之后那个

关于c# - 如何计算集合中值的百分位数或排名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147889/

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