基于 bool 系列的 pandas 系列的高效分配

Efficient assignment into a pandas Series based on a bool Series

给定一个 Series 布尔值,我想创建一个新的 Series,它从 0 开始,并递增布尔值 Series 中的每个对应条目是 True.这是一个例子:

s = pd.Series([False, True , False, False, False, True, False, False, True, False])

看起来像:

0    False
1     True
2    False
3    False
4    False
5     True
6    False
7    False
8     True
9     False

我正在寻找一种高效且尽可能优雅的操作,无需循环,以获得以下内容 Series:

0    0
1    1
2    1
3    1
4    1
5    2
6    2
7    2
8    3
9    3

使用pd.Series.cumsum

s.cumsum()

0    0
1    1
2    1
3    1
4    1
5    2
6    2
7    2
8    3
9    3
dtype: int64