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