计算数据列表中每个条目的百分位数

时间:2011-07-30 11:39:26

标签: list c#-4.0 percentile

//I have a list of students List<Student>  
Students  
{  
     lond StudentId;  
     double Marks;  
     int Rank;  
    double Percentile;  
}  

我提供了Id和Marks,需要计算等级和百分位数。 我搜索了计算百分位数的方法,但他们提供了不同格式的答案,如 - 如何计算第95百分位数或第5百分位数。

但我需要计算的是每个学生的排名和特殊百分位,而不是特定的百分位持有者 thnx提前...

1 个答案:

答案 0 :(得分:3)

好的,所以你需要先按Mark排序/排序所有学生,这样最好的成绩才是列表中的第一个。然后你可以通过计算来明显填充Rank。

对于百分位数(TotalNumberOfStudents - Rank of Student) / (TotalNumberOfStudents - 1)

所以换句话说,如果你是排名第一的学生,你比100%的其他学生好,如果你在100名学生中排名50,那么你比50%的学生好。

现在一个问题是,如果学生可以获得相同的分数,那么他们就不需要计入公式的分母,因为这代表了比你差的学生人数。