用Python计算滚动总和

时间:2018-08-13 10:17:01

标签: python pandas dataframe

我有一个具有以下格式的数据框df:

    Type     2013         2014          2015         2016          2017         
           EU  NO_EU    EU   NO_EU    EU  NO_EU    EU  NO_EU     EU  NO_EU               
     A      4     6      2     1       2    7       1    4        2    6    

     B      3     0      8     3       11   22      2    2        2    1   

,我想创建一个新的数据框架,其中包含欧盟和NO_EU三年期的滚动总和。因此,我的新数据框应如下所示:

           Type     2013         2014          2015         2016          2017         
                  EU  NO_EU    EU   NO_EU    EU  NO_EU    EU  NO_EU     EU  NO_EU     

            A      -     -      -      -      8    14      5    12       5    17     
            B      -     -      -      -      22   25      21   27       15   25      

前两年将没有数据,因为我们没有足够的数据来计算最近3年的总和。

关于如何在python中执行此操作的任何想法?也许使用类似df.rolling(window=3).sum的东西?我的实际数据帧有很多行和列,因此我将使用循环来计算它们。

非常感谢您提前提供帮助

1 个答案:

答案 0 :(得分:1)

您可以尝试在axis=1中沿列而不是行axis=0使用rolling

df.rolling(window=3,axis=1).sum()