Python 如何获取切换标志值以及标志切换之间的行数总和

Python 如何获取切换标志值以及标志切换之间的行数总和,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,作为我以前工作的延续,我需要更多的帮助 数据帧就像 id power flag 0 20 0 1 25 0 2 26 1 3 30 1 4 18 0 5 30 0 6 19 0 7 21 1 8 23 0 我试图将标志状态值与切换计数结合起来,这意味着标志切换状态。 输出应该如下所示 Sum of power flag_state 0 45

作为我以前工作的延续,我需要更多的帮助

数据帧就像

id  power   flag
0   20      0
1   25      0
2   26      1
3   30      1
4   18      0
5   30      0
6   19      0
7   21      1
8   23      0
我试图将标志状态值与切换计数结合起来,这意味着标志切换状态。 输出应该如下所示

    Sum of power       flag_state
0   45 (20 +25)           0
1   56 (26 + 30)          1
2   67 (18 +30 +19)       0
3   21 (21)               1
4   23 (23)               0

有人能帮上忙吗?

shift
cumsum
创建助手系列,并聚合
sum
,最后通过第一次
reset\u index
删除助手的第一级
MultiIndex

df1 = (df.groupby([df['flag'].ne(df['flag'].shift()).cumsum(), 'flag'])['power']
         .sum()
         .reset_index(level=0, drop=True)
         .reset_index(name='sum of power'))
print (df1)
   flag  sum of power
0     0            45
1     1            56
2     0            67
3     1            21
4     0            23

谢谢你,伙计。。。那正是我要找的东西。你也能帮我告诉我在哪里可以学习这样的代码吗。