当前位置: 首页 > news >正文

pandas 分组相同赋值1然后累加

我们有这样的需求,根据A,B两列联合分组,第一个一样的key都赋值1,然后累加。当出现不一样的A,从1开始继续累加
比如

AB
x1
x1
x2
y1
y1
x1
x2
y1

我想这样

ABC
x11
x11
x22
y11
y11
x11
x22
y11
import pandas as pddf = pd.DataFrame({'A': ['x', 'x', 'x', 'y', 'y', 'x', 'x', 'y'],'B': [ 1,   1,   2,   1,   1,   1,   2,   1]
})
print(df)
df = df.sort_values(['A','B'])
# 1. 找出 A 值变化的连续块编号
df['block'] = (df['A'] != df['A'].shift()).cumsum()# 2. 在每个 block 中对 (A, B) 编号(相同组赋相同编号,从1开始)
df['C'] = df.groupby('block').apply(lambda g: g.groupby(['A', 'B'], sort=False).ngroup() + 1).reset_index(level=0, drop=True)# 3. 删除辅助列
df = df.drop(columns='block')print(df)
http://www.dtcms.com/a/306923.html

相关文章:

  • PAT 甲级题目讲解:1011《World Cup Betting》
  • 【MySQL 数据库】MySQL索引特性(一)磁盘存储定位扇区InnoDB页
  • Linux c网络专栏第四章io_uring
  • 面向对象中级编程
  • DFT不同维度中gate、cell、instance介绍
  • RAG:检索增强生成的范式演进、技术突破与前沿挑战
  • pytorch入门2:利用pytorch进行概率预测
  • [NOIP2002 提高组] 均分纸牌
  • 破解海外仓客户响应难题:自动化系统是关键
  • 如何选择GEO优化公司哪家好?
  • MySQL学习---分库和分表
  • NSGA-III(非支配排序遗传算法 III)求解 7 目标的 DTLZ2 测试函数
  • DFT设计中的不同阶段介绍
  • 天地图Api4.0.怎么根据geojson的数据。把一个省的所有市区标记色块和文字
  • 【ssh】ubuntu服务器+本地windows主机,使用密钥对进行ssh链接
  • 怎么在 WSL CentOS8 与宿主机windows11 之间传递文件
  • 网络编程(C语言)
  • 从训练到推理:Intel Extension for PyTorch混合精度优化完整指南
  • 常见CMS获取webshell的方法-靶场练习
  • 集成电路学习:什么是ARM CortexM处理器核心
  • sqli-labs:Less-5关卡详细解析
  • STP技术
  • 应用驱动 协同创新:中国人工智能开启高质量发展新篇章
  • 深度学习与图像处理案例 │ 图像分类(智能垃圾分拣器)
  • 360环视技术推荐的硬件平台:支持多摄像头与三屏异显的理想选择
  • LeetCode 刷题【22. 括号生成】
  • 敏捷与SCRUM三大支柱:数字化时代的韧性引擎
  • 【解决方案】frida-ps -Ua报错unable to perform ptrace pokedata: I/O error
  • [Python] -进阶理解10- 用 Python 实现简易爬虫框架
  • 外键列索引优化:加速JOIN查询的关键