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

Python如何为dataframe新增基于另一列分组的自增序列列

Pandas DataFrame 按分组生成自增序号解决方案
  • 核心逻辑通过groupby()结合cumcount()方法实现,完整代码示例如下:
import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'id': [1,1,1,2,2,3,3],
    'X': [1,2,3,4,5,6,7]
})

# 新增n列:按id分组生成从1开始的自增序号
df['n'] = df.groupby('id').cumcount() + 1
  • 运行后输出结果如下:
id  X  n
0   1  1  1
1   1  2  2
2   1  3  3
3   2  4  1
4   2  5  2
5   3  6  1
6   3  7  2

cumcount()默认对每个分组内的行按原有顺序返回从0开始的计数,加1即可得到从1开始的自增效果,id切换时分组变化,计数会自动重置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 14:57:03