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

基于Category列重新枚举Sub-Category列内容的实现方法

按Category重新枚举Sub-Category的实现方案

原始数据

先看初始的DataFrame:

import pandas as pd

df = pd.DataFrame({'Category':[101,101,101,103,103,103,103],
                   'Sub-Category':[0,3,4,0,2,4,5]})

输出如下:

Category  Sub-Category
0      101             0
1      101             3
2      101             4
3      103             0
4      103             2
5      103             4
6      103             5

需求

需要针对每个Category,将组内的Sub-Category从1开始重新连续枚举,得到如下结果:

Category  Sub-Category
0      101             1
1      101             2
2      101             3
3      103             1
4      103             2
5      103             3
6      103             4

实现方法

用pandas的分组计数就能快速实现:

df['Sub-Category'] = df.groupby('Category').cumcount() + 1

原理

  • groupby('Category'):把相同分类的行归为一组
  • cumcount():对每组内的行从0开始依次计数
  • +1:把计数起点从0改成1,正好匹配需求的枚举方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:36:15