Python 组合序号

python 复制代码
import pandas as pd  
  
# 创建一个示例数据框  
data = {  
    'group': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'C', 'C'],  
    'value': [3, 1, 2, 5, 4, 6, 9, 7, 8]  
}  
df = pd.DataFrame(data)  
  
# 先按group分组,再按value列升序排序  
df_sorted_asc = df.sort_values(by=['group', 'value'])  
  
# 使用groupby和cumcount为每组内按value升序分配一个序号  
df_sorted_asc['group_rank_asc'] = df_sorted_asc.groupby('group').cumcount() + 1  
  
print(df_sorted_asc)

# 先按group分组,再按value列降序排序  
df_sorted_desc = df.sort_values(by=['group', 'value'], ascending=[True, False])  
  
# 使用groupby和cumcount为每组内按value降序分配一个序号  
df_sorted_desc['group_rank_desc'] = df_sorted_desc.groupby('group').cumcount() + 1  
  
print(df_sorted_desc)
相关推荐
沐知全栈开发4 分钟前
API 类别 - 交互
开发语言
MZ_ZXD0014 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
人道领域24 分钟前
SSM框架从入门到入土(AOP面向切面编程)
java·开发语言
铅笔侠_小龙虾25 分钟前
Flutter 实战: 计算器
开发语言·javascript·flutter
全栈老石42 分钟前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
2的n次方_43 分钟前
Runtime 执行提交机制:NPU 硬件队列的管理与任务原子化下发
c语言·开发语言
梨落秋霜1 小时前
Python入门篇【模块/包】
python
2501_944711431 小时前
JS 对象遍历全解析
开发语言·前端·javascript
凡人叶枫1 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
Tony Bai1 小时前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang