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

如何在Pandas中为DataFrame重复的患者ID生成出现次序编号

Pandas实现患者ID出现次序标记方案

直接使用groupby()配合cumcount()方法即可实现需求,cumcount()会按分组统计行的出现序号,默认从0开始计数,加1即可得到从1开始的次序标记。

基础实现代码

import pandas as pd

# 构造示例DataFrame,可替换为你自己的数据集
df = pd.DataFrame({
    '患者ID': ['P001', 'P002', 'P001', 'P003', 'P002', 'P001', 'P002']
})

# 新增出现次序列
df['ID出现次序'] = df.groupby('患者ID').cumcount() + 1

输出效果参考

患者IDID出现次序
P0011
P0021
P0012
P0031
P0022
P0013
P0023

场景适配说明

  • 次序计算严格遵循DataFrame原有的行顺序,如果你需要按照特定字段(比如就诊时间、挂号时间)排序后再统计次序,先执行排序操作再跑上面的计数逻辑即可,示例:
# 先按患者ID、就诊日期升序排序后再统计
df = df.sort_values(by=['患者ID', '就诊日期'], ascending=[True, True])
df['ID出现次序'] = df.groupby('患者ID').cumcount() + 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 22:24:00