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)
相关推荐
阿贵---1 分钟前
C++中的中介者模式
开发语言·c++·算法
AsDuang2 分钟前
Python 3.12 MagicMethods - 56 - __and__
开发语言·python
1candobetter3 分钟前
JAVA后端开发——如何在多层代理环境下实现稳定的签名算法:Host 与端口问题解析
java·开发语言
爱敲代码的菜菜4 分钟前
【项目】基于正倒排索引的Java文档搜索引擎
java·开发语言·前端·javascript·搜索引擎·servlet
帐篷Li6 分钟前
【BBF系列协议】USP/TR-369 Agent 开发计划
开发语言·python
m0_528174456 分钟前
用Python读取和处理NASA公开API数据
jvm·数据库·python
重庆小透明6 分钟前
【java基础内容】ConcurrentHashmap源码万字解析
java·开发语言
Yupureki6 分钟前
《MySQL数据库基础》4. 数据类型
c语言·开发语言·数据结构·数据库·c++·mysql
C++ 老炮儿的技术栈8 分钟前
C++、C#常用语法对比
c语言·开发语言·c++·qt·c#·visual studio
共享家95279 分钟前
Java入门(继承)
java·开发语言