【发布时间】:2020-07-02 15:16:05
【问题描述】:
我有 col1-col10 的数据框,我想计算列之间的累积总和并在旅途中创建新列,即 cum_col1-cum_col10。我查看了 cumsum(),但这给出了最终的累积总和。如何在创建新列时实现累积和。
数据框看起来像:
id col1 col2 col3 col4 col5 col6 col7 col8 col9 col10
1 5 5 5 5 0 0 1 4 3 3
2 0 0 0 0 0 0 4 4 0 0
3 0 1 2 3 0 0 0 5 6 0
预期结果:
id cum_col1 cum_col2 cum_col3 cum_col4 cum_col5 cum_col6 cum_col7 cum_col8 cum_col9 cum_col10
1 5 10 15 20 20 20 21 25 28 31
2 0 0 0 0 0 0 4 8 8 8
3 0 1 3 6 6 6 6 11 17 17
生成数据帧的 DDL:
import pandas as pd
df = pd.DataFrame({'id': [1, 2, 3],
'col1': [5, 0, 0],
'col2': [5, 0, 1],
'col3': [5, 0, 2],
'col4': [5, 0, 3],
'col5' : [0, 0, 0],
'col6': [0, 0, 0],
'col7': [1, 4, 0],
'col8': [4, 4, 5],
'col9': [3, 0, 6],
'col10': [3, 0, 0]})
谢谢!
【问题讨论】: