编辑
2025-03-12
python
00
请注意,本文编写于 272 天前,最后修改于 272 天前,其中某些信息可能已经过时。

Pandas 的 rank 方法用于对数据进行排名,可以应用于 Series 或 DataFrame 对象。这个方法非常灵活,支持多种排名规则,并且适用于处理数值型数据。以下是关于 rank 方法的一些关键点:

  • 基本用法:你可以通过指定列来为该列的数据分配排名值。

    python
    df['rank'] = df['column_name'].rank()
  • method 参数:此参数允许你选择不同的排名策略:

    • 'average':默认值,相同值的排名取平均值。
    • 'min':相同值的排名取最小值。
    • 'max':相同值的排名取最大值。
    • 'first':相同值的排名按它们在数据中出现的顺序分配。
    • 'dense':与 'min' 类似,但不会跳过排名值(即如果两个元素并列第一,下一个元素将排第二而不是第三)。
  • ascending 参数:决定是升序还是降序排名,默认是 True(升序)。如果你想让最大的数排名最高,则设置 ascending=False

  • 示例: 如果你有一个 DataFrame 并想根据某一列的值来进行排名,可以这样做:

    python
    import pandas as pd data = {'ID': [1, 2, 3, 4, 5], 'Score': [85, 90, 85, 95, 90]} df = pd.DataFrame(data).sort_values('Score', ascending=False) # 使用默认的 'average' 方法进行排名 df['rank'] = df['Score'].rank(method='average') # 如果想要大的数排名靠前,使用降序 df['rank_desc'] = df['Score'].rank(method='dense', ascending=False) print(df)
python
ID Score rank rank_desc 3 4 95 5.0 1.0 4 5 90 3.5 2.0 1 2 90 3.5 2.0 0 1 85 1.5 3.0 2 3 85 1.5 3.0

本文作者:君逍遥

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!