根据 df python 中的两个列值累积数据
Cumulate data based on two column values in df python
我正在尝试根据 ID 和月份累计数据使用情况,以便将累计数据添加为附加列。
这是我的 df 示例代码:
df = pd.DataFrame({'ID':["SAD1", "SAD2", "SAD1", "SAD2", "SAD1", "SAD2", "SAD3"],
'Month':["201701","201701","201702","201702","201703","201703", "201703"],
'Usage':[20,40,100,50, 30, 30, 2000]})
我的数据框如下所示:
ID Month Usage
0 SAD1 201701 20
1 SAD2 201701 40
2 SAD1 201702 100
3 SAD2 201702 50
4 SAD1 201703 30
5 SAD2 201703 30
6 SAD3 201703 2000
我想得到的结果是:
ID Month Usage Cum Usage
0 SAD1 201701 20 20
1 SAD2 201701 40 40
2 SAD1 201702 100 120
3 SAD2 201702 50 90
4 SAD1 201703 30 150
5 SAD2 201703 30 120
6 SAD3 201703 2000 2000
任何人都可以帮助我如何将其应用到我的 df 中吗?
groupby
和 cumsum
df['Cum Usage'] = df.groupby('ID').cumsum()
我正在尝试根据 ID 和月份累计数据使用情况,以便将累计数据添加为附加列。
这是我的 df 示例代码:
df = pd.DataFrame({'ID':["SAD1", "SAD2", "SAD1", "SAD2", "SAD1", "SAD2", "SAD3"],
'Month':["201701","201701","201702","201702","201703","201703", "201703"],
'Usage':[20,40,100,50, 30, 30, 2000]})
我的数据框如下所示:
ID Month Usage
0 SAD1 201701 20
1 SAD2 201701 40
2 SAD1 201702 100
3 SAD2 201702 50
4 SAD1 201703 30
5 SAD2 201703 30
6 SAD3 201703 2000
我想得到的结果是:
ID Month Usage Cum Usage
0 SAD1 201701 20 20
1 SAD2 201701 40 40
2 SAD1 201702 100 120
3 SAD2 201702 50 90
4 SAD1 201703 30 150
5 SAD2 201703 30 120
6 SAD3 201703 2000 2000
任何人都可以帮助我如何将其应用到我的 df 中吗?
groupby
和 cumsum
df['Cum Usage'] = df.groupby('ID').cumsum()