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

如何在Pandas数据表中实现重置式条件计数器?

实现Pandas条件计数器

可以通过分组标识+组内累加的方式实现这个需求,以下是具体步骤:

1. 构造示例数据

先还原你提供的数据集:

import pandas as pd

data = {
    'Week': ['01-2022', '02-2022', '03-2022', '04-2022', '05-2022', '06-2022'],
    'A': [0.8, 0.6, 1.5, 0.6, 0.8, 0.8]
}
df = pd.DataFrame(data)

2. 生成分组键

以"A列数值大于1"作为分组分割点,用cumsum()生成连续的分组ID:

df['group'] = (df['A'] > 1).cumsum()

这一步会把每一个"A>1"的行作为新分组的起点,后续行归为同一组,直到下一个"A>1"的行出现。

3. 计算组内累加并重置

对每个分组内的行进行累加计数,再把"A>1"的行的计数器设为0:

# 组内从1开始累加计数
df['counter'] = df.groupby('group').cumcount() + 1
# 将A>1的行的计数器重置为0
df['counter'] = df['counter'].mask(df['A'] > 1, 0)

最终结果

执行后的数据表如下:

WeekAgroupcounter
01-20220.801
02-20220.602
03-20221.510
04-20220.611
05-20220.812
06-20220.813

这个counter列就是你需要的条件计数器结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:50:24