You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataFrame中按Fruit分组对percentage排序新增排名列new_column

实现分组内排名新增列的方法

你可以直接使用 Pandas 内置的分组+排名方法实现需求,具体步骤如下:


核心依赖

确保你已经正确安装并导入了 Pandas 库:

import pandas as pd

完整实现代码

1. (可选)构造示例测试数据

df = pd.DataFrame({
    'Fruit': ['苹果', '苹果', '苹果', '香蕉', '香蕉', '橙子'],
    'percentage': [85, 92, 85, 78, 95, 90]
})

2. 核心逻辑实现

df['new_column'] = df.groupby('Fruit')['percentage'].rank(
    ascending = False,
    method = 'dense'
).astype(int)

参数说明

你可以根据实际业务对排名规则的要求,调整method参数的取值:

  • method='dense':相同百分比的数值排名相同,后续排名连续不跳号(比如两个并列第2,下一名是第3)
  • method='min':相同百分比的数值排名相同,后续排名跳号(比如两个并列第2,下一名是第4)
  • method='first':相同百分比的数值按出现先后顺序排不同名次,无并列排名

运行效果示例

执行代码后得到的结果如下:

Fruitpercentagenew_column
苹果852
苹果921
苹果852
香蕉782
香蕉951
橙子901

内容的提问来源于stack exchange,提问作者GDog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:18:06