累积总和并在不存在实例的情况下添加行



我正在创建一个带有累积总和的未分明表。

数据如下:

Year     Period     Amount    
2011        1         10    
2011        2         15    
2011        3         8   
2012        1         20    
2012        3         10    
2012        4         5   

我想添加一个累积总和:

Year     Period     Cumulative Amount   
2011        1         10    
2011        2         25  
2011        3         33   
2012        1         20   
2012        3         30   
2012        4         35   

我为此累积总和写了代码,但我的问题是,在2012年期间2的实例中,这不是记录,因此不会出现。

在没有记录并具有金额= 0的情况下,添加行的最简单方法是什么?

2011年需要2019年至2011年 1 = 9个时期
对于2012年,需要2019年至2012年 1 = 8个时期
… 等等。

要获得累积总和,我做了以下内容:

py_data = df['Amount'].groupby([df['Year'], df['Period']).sum().reset_index()
py_data['cumsum'] = py_data["'Amount'"].groupby([py_data['Period']]).cumsum()

做:

df['Cumulative_Amount'] = df.groupby('Year')['Amount'].cumsum()

输出:

   Year  Amount  Period  Cumulative_Amount
0  2011      10       1                 10
1  2011      15       2                 25
2  2011       8       3                 33
3  2012      20       1                 20
4  2012      10       3                 30
5  2012       5       4                 35

相关内容

最新更新