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

Pandas按两列分组后为对应字段值添加前导零后缀的实现方法

Pandas 分组拼接序号实现方案

核心逻辑为按id、date、type三级分组后生成组内递增序号,补零后和type字段直接拼接即可得到目标count字段,完整实现代码如下:

import pandas as pd

# 构造样本数据(如果已有df可跳过这部分)
data = {
    'id': ['aa', 'aa', 'aa', 'aa', 'aa', 'bb', 'bb'],
    'date': ['q1 21', 'q1 21', 'q2 22', 'q2 22', 'q2 22', 'q1 21', 'q1 21'],
    'type': ['hi', 'hi', 'hey', 'hi', 'hi', 'hi', 'hey']
}
df = pd.DataFrame(data)

# 核心处理逻辑
df['count'] = df['type'] + df.groupby(['id', 'date', 'type']).cumcount()\
    .add(1).astype(str).str.zfill(2)

# 输出验证结果
print(df)

逻辑说明

  • groupby(['id', 'date', 'type']):将同id、同日期、同类型的数据划分为同一个小组
  • cumcount():为每个小组内的行生成从0开始的递增序号
  • add(1):将序号调整为从1开始,匹配需求的编号规则
  • astype(str).str.zfill(2):将数字序号转为字符串,不足两位的自动补前导零
  • 直接和type字段拼接即可得到最终的count字段值

运行上述代码后输出的df和你给出的预期结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:15:04