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

为DataFrame添加按Transaction#分组的递增序号列

解决按Transaction#分组生成组内递增序号的问题

嘿,这个需求用pandas处理起来特别简单!咱们直接通过分组+累计计数的方式就能实现你要的效果,具体步骤如下:

1. 先构造示例DataFrame

先把你给出的原始数据转换成pandas的DataFrame:

import pandas as pd

data = {
    'Transaction#': [101, 101, 101, 102, 102, 103],
    'ID': ['ABC', 'EFG', 'IJK', 'LMO', 'PQR', 'STU']
}
df = pd.DataFrame(data)

2. 新增组内递增序号列

使用groupby按Transaction#分组,然后用cumcount()方法获取组内的累计索引(注意这个方法默认从0开始计数,所以我们要加1让它从1开始):

df['Number'] = df.groupby('Transaction#').cumcount() + 1

3. 查看最终结果

执行完上面的代码后,你的DataFrame就变成了预期的样子:

Transaction#IDNumber
101ABC1
101EFG2
101IJK3
102LMO1
102PQR2
103STU1

简单解释下:groupby('Transaction#')把数据按交易号分成了三个组,cumcount()为每个组内的行分配从0开始的序号,加1之后就刚好是你要的从1开始的递增数字啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:49:44