我很难理解系列的等级。我知道排名是从一系列中的最高值到最低值计算的。如果两个数字相等,则 pandas 计算两个数字的平均值。
在这个例子中,最高值是 7。为什么我们得到 7 的 5.5 和 4 的 1.5?
S1 = pd.Series([7,6,7,5,4,4])
S1.rank()
Output:
0 5.5
1 4.0
2 5.5
3 3.0
4 1.5
5 1.5
dtype: float64
最佳答案
Rank是这样计算的
- 按升序排列元素,从最低元素的“1”开始分配排名。
Elements - 4, 4, 5, 6, 7, 7 Ranks - 1, 2, 3, 4, 5, 6
- 现在考虑重复的项目,平均出相应的排名并将平均排名分配给它们。
由于我们有 '4' 重复两次,每次出现的最终排名将是 1,2 的平均值,即 1.5。 以同样的方式或 7,每次出现的最终排名将平均为 5,6,即 5.5
Elements - 4, 4, 5, 6, 7, 7 Ranks - 1, 2, 3, 4, 5, 6 Final Rank - 1.5, 1.5, 3, 4, 5.5, 5.5
关于python - pandas 中的排名是如何计算的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62750220/