首页 > 解决方案 > Python Pandas:条件滚动计数

问题描述

这是我的输入数据框

type
a   
a   
a   
a   
a   
b   
b   
a   
a   
a

这是我的预期输出

type,   id
a   ,   1
a   ,   2
a   ,   3
a   ,   4
a   ,   5
b   ,   5
b   ,   5
a   ,   6
a   ,   7
a   ,   8

我需要ID根据列生成'type'列。我有两种类型'a'& 'b'.. 只要它是'a'我想增加ID的。如果'b',保持以前'a' ID的。如何在 Pandas 数据框中执行此操作?

标签: pythonpandasdataframeseries

解决方案


您可以计算布尔系列的累积总和,指示您的系列何时等于一个值:

df['id'] = df['type'].eq('a').cumsum()

推荐阅读