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

Python DataFrame基于同列相同值设置组内递增索引的实现方法

pandas按分组生成组内从0开始自增序号的实现方法

实现逻辑

使用pandas分组对象的cumcount()方法,该方法会对每个分组内的行按照原有顺序生成从0开始的递增整数序号,完全匹配需求。

完整代码示例

import pandas as pd

# 1. 构造示例数据(已有DataFrame可直接跳过此步)
df = pd.DataFrame({
    'A': ['a', 'a', 'b', 'c', 'c', 'c', 'c']
})

# 2. 新增setIndex列,生成分组内自增序号
df['setIndex'] = df.groupby('A').cumcount()

输出结果说明

最终生成的DataFrame包含三个字段:原默认索引、column A、setIndex,setIndex列符合分组内从0开始自增的要求,示例输出如下:

默认索引AsetIndex
0a0
1a1
2b0
3c0
4c1
5c2
6c3

拓展:如果需要组内序号从1开始,只需修改代码为 df['setIndex'] = df.groupby('A').cumcount() + 1 即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:36:04