python - pandas 中的排名是如何计算的

标签 python pandas rank

我很难理解系列的等级。我知道排名是从一系列中的最高值到最低值计算的。如果两个数字相等,则 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. 按升序排列元素,从最低元素的“1”开始分配排名。
Elements - 4, 4, 5, 6, 7, 7
Ranks    - 1, 2, 3, 4, 5, 6
  1. 现在考虑重复的项目,平均出相应的排名并将平均排名分配给它们。

由于我们有 '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/

相关文章:

python:如何更改函数输入参数的值?

python - 计算数据框中唯一共同作者的数量

python - Pandas 数据框 : shift/merge multiple rows sharing the same column values into one row

r - 如何获得多个变量的连续排名

mysql - SQL ROW_NUMBER 给出错误

python - 使用 Python 通过 SSH 隧道端口转发访问 MySQL 数据库

python - 在 Windows 上与女服务员一起服务 Flask 应用程序

python - 将 CSV 数据流转换为 Pandas DataFrame (Python 2.7)

python - 按单个整数对列进行排名

python - 如何在没有列名的情况下更改 pandas 中的列类型?