[英]Pandas rows multiple rows as one, adding specific column
import pandas as pd
training_data = pd.DataFrame()
training_data['a'] = [401,401.2,410,420,425,426, 426.1]
training_data['b'] = [1,1,2,2,2,3,3]
training_data['condition'] = [True, False, True, True, True,False, False]
My training data:我的训练数据:
a b condition
401 1 True
401.2 1 False
410 2 True
420 2 True
425 2 True
426 3 False
426.1 3 False
Desired output:所需的 output:
a b condition
401 2 True (1+1)
410 2 True
420 2 True
425 8 True (2+3+3)
All False conditions have been deleted and column 'b' has been added with the amended values.所有 False 条件已被删除,并且“b”列已添加修改后的值。
How can I get this desired output?我怎样才能得到这个想要的 output?
I am aware of using .cumsum()
with我知道使用
.cumsum()
training_data.query('condition').groupby('grp').agg()
Here we go with cumsum
这里我们 go 与
cumsum
out = training_data.groupby(training_data['condition'].cumsum()).agg({'a':'first','b':'sum','condition':'first'})
Out[271]:
a b condition
condition
1 401.0 2 True
2 410.0 2 True
3 420.0 2 True
4 425.0 8 True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.