gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 07:22:52 25 4
gpt4 key购买 nike

继续我之前的Question我需要更多帮助。

数据框就像

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

有人可以帮忙吗?

最佳答案

使用shiftcumsum创建助手系列并聚合sum,最后删除MultiIndex的助手第一级第一个reset_index:

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

关于python - 如何获取切换标志值以及标志切换之间的行总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57602680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com