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

流程挖掘场景下按ID统计分类值的第n次出现次数

解决流程挖掘中按ID统计Activity出现次数的问题

我明白你要的是每个ID分组内,相同Activity的出现次数——也就是对每个ID下的Activity,标记它是该Activity在这个ID里的第几次出现,而不是按活动切换的累计计数。你之前用的代码是统计连续活动的切换次数,所以才不符合需求。

问题分析

你之前的代码:

df.groupby(["ID"])["Activity"].apply(lambda x : (x!=x.shift()).cumsum())

这段代码的作用是,对每个ID下的Activity序列,每当当前活动和上一个不同时,累计数加1。它统计的是「流程步骤的阶段数」(比如从Diagnosis到ID Process算一个新阶段),而不是同一个Activity的重复出现次数,所以得到的结果和你想要的不一致。

正确解决方案

我们需要同时按ID和Activity分组,然后对每个分组内的行进行计数。具体可以用cumcount()方法,它会为每个分组内的行生成从0开始的递增序号,加1后就是从1开始的出现次数。

完整代码示例:

import pandas as pd

# 构造你的数据集(如果已有DataFrame可跳过这步)
data = {
    "ID": [161,161,161,161,161,161,161,162,162,162,162,162,163,163,163,163,163,164,164,164,164,164,165,165,165,165,166,166,166,166,166,166,166,166,167,167,167,167,167,168,168,168,168,168,168,168,169,169,169,169],
    "Activity": ["Diagnosis","ID Process","Dead Air","ID Process","Dead Air","ID Process","Resolution","Diagnosis","ID Process","Dead Air","ID Process","Resolution","Diagnosis","ID Process","Resolution","Dead Air","Resolution","Diagnosis","ID Process","Investigation","On Hold","Resolution","Diagnosis","ID Process","Investigation","Resolution","Diagnosis","ID Process","Dead Air","ID Process","Resolution","On Hold","Resolution","On Hold","Diagnosis","ID Process","Dead Air","ID Process","Resolution","Diagnosis","ID Process","Investigation","Dead Air","Investigation","Resolution","On Hold","Diagnosis","Resolution","Investigation","ID Process"]
}
df = pd.DataFrame(data)

# 计算每个ID下Activity的出现次数
df["Occurrence"] = df.groupby(["ID", "Activity"]).cumcount() + 1

# 输出你需要的结果列表
print(df["Occurrence"].tolist())

结果验证

运行上述代码后,输出的列表和你期望的完全一致:
[1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1]

代码解释

  • groupby(["ID", "Activity"]):将数据按「ID+Activity」的组合分组,确保我们只在同一个ID内统计相同Activity的次数。
  • cumcount():为每个分组内的行分配从0开始的连续序号,比如ID161下的"ID Process"会得到0、1、2。
  • +1:把序号转换成从1开始的出现次数,符合你需要的计数逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 18:32:36