您可以执行以下操作(贷方:如何使用系列/数据框模拟itertools.groupby):
>>> df['in'].groupby((df['in'] != df['in'].shift()).cumsum()).cumsum()
0 0
1 1
2 0
3 0
4 1
5 2
6 0
7 1
8 2
9 3
dtype: int64
以向量化方式计算大pandas中特定连续相等值的数量
您可以执行以下操作(贷方:如何使用系列/数据框模拟itertools.groupby):
>>> df['in'].groupby((df['in'] != df['in'].shift()).cumsum()).cumsum()
0 0
1 1
2 0
3 0
4 1
5 2
6 0
7 1
8 2
9 3
dtype: int64