小编bma*_*r69的帖子

熊猫将多行作为一行,添加特定列

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]
Run Code Online (Sandbox Code Playgroud)

我的训练数据:

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
Run Code Online (Sandbox Code Playgroud)

期望的输出:

a         b      condition
401       2        True         (1+1)

410       2        True
420       2        True
425       8        True        (2+3+3)

Run Code Online (Sandbox Code Playgroud)

已删除所有 False 条件,并添加了带有修改值的“b”列。

我怎样才能得到这个想要的输出?

我知道使用的.cumsum()

training_data.query('condition').groupby('grp').agg()
Run Code Online (Sandbox Code Playgroud)

python loops dataframe pandas aggregation-framework

6
推荐指数
1
解决办法
47
查看次数

标签 统计

aggregation-framework ×1

dataframe ×1

loops ×1

pandas ×1

python ×1