分组依据的尾随或移动均线

我想在进行分组时计算尾随或移动平均线。在下面的示例中,我说明了5天移动平均线。


我的数据如下所示:


ID  Date         KG      Volume

1   8/10/2018    1,000   10 

1   8/11/2018    500     6 

1   8/12/2018    750     2 

1   8/13/2018    500     6 

1   8/13/2018    500     6 

1   8/14/2018    1,000   4 

2   8/1/2018     1304    8

2   8/2/2018     626     1

2   8/3/2018     955     3

2   8/8/2018     445     4

2   8/10/2018    1356    11

2   8/13/2018    524     7

2   8/14/2018    331     5

我想按ID和Date列进行分组,然后计算KG / Volume列的连续5天平均值(从今天的日期开始,这将是8 / 10-8 / 14)。我需要按ID和日期进行分组的原因是ID 1之类的情况,其中日期8/13/18出现了两次。在此示例中,我希望18/13/18上的ID 1具有一个1,000 KG的条目用于平均计算(而不是两个500的条目)。


预期的输出将类似于:


ID  Avg_KG  Avg_Vol

1   850     7 

2   442.2   4.6

另外请注意,ID 2缺少平均计算所需的5天中的2天。对于ID 2,缺少的两天应该作为平均计算的0。这就是为什么KG平均ID为442.2而不是737的原因。


我尝试使用.rolling(5).mean(),但在将其与groupby语句结合使用时却得到了不正确的结果。


拉莫斯之舞
浏览 129回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python