网站首页 网站地图
网站首页 > 网络游戏 > rank和rank.eq的区别

rank和rank.eq的区别

时间:2026-04-01 09:54:37

在 Python 的 Pandas 库中,rank()rank.eq() 是两个不同的函数,它们的用途和行为也有所不同。下面我来详细说明它们的区别:

✅ 1. rank()

功能:

rank() 是 Pandas 中用于计算 排名 的函数。

用法:

df['rank'] = df['column'].rank(method='average')

行为:

  • 计算每一行的排名,排名是基于该列的 数值大小
  • 如果有相同值,会使用 平均排名(即相同值的排名取平均)。
  • 排名是从 1 开始的,比如:
    • 100 分 → 1
    • 90 分 → 2
    • 90 分 → 1.5
    • 80 分 → 3

示例:

import pandas as pd

data = {'A': [100, 90, 90, 80]}
df = pd.DataFrame(data)
df['rank'] = df['A'].rank(method='average')
print(df)

输出:

   A   rank
0  100   1.0
1   90   1.5
2   90   1.5
3   80   2.0

✅ 2. rank.eq()

功能:

rank.eq() 是 Pandas 中用于 计算排名 的函数,但它的用途是 判断某一行的排名是否等于某个值

用法:

df['rank_eq_1'] = df['column'].rank(method='average').eq(1)

行为:

  • 计算每一行的排名,然后判断该行的排名是否等于某个值(比如 1)。
  • 返回的是一个布尔 Series,其中 True 表示该行的排名等于指定值,False 否则。

示例:

import pandas as pd

data = {'A': [100, 90, 90, 80]}
df = pd.DataFrame(data)
df['rank_eq_1'] = df['A'].rank(method='average').eq(1)
print(df)

输出:

   A  rank_eq_1
0  100      False
1   90      False
2   90      False
3   80       True