我有一个df看起来像这样:
Category Product Location Date formatted Volume
0 A TYPE_B Central 2019-04-01 13.0
1 A TYPE_B Central 2019-05-01 13.0
2 A TYPE_B Central 2019-06-01 12.0
3 A TYPE_B Central 2019-07-01 14.0
4 A TYPE_B Central 2019-08-01 14.0
5 A TYPE_B Central 2019-09-01 13.0
6 A TYPE_B Central 2019-10-01 14.0
7 A TYPE_B Central 2019-11-01 13.0
8 A TYPE_B Central 2019-12-01 13.0
9 A TYPE_B Central 2020-01-01 13.0
10 A TYPE_B Central 2020-02-01 13.0
11 A TYPE_B Central 2020-03-01 15.0
12 A TYPE_B East 2019-04-01 21.0
13 A TYPE_B East 2019-05-01 20.0
14 A TYPE_B East 2019-06-01 18.0
15 A TYPE_B East 2019-07-01 21.0
16 A TYPE_B East 2019-08-01 22.0
17 A TYPE_B East 2019-09-01 19.0
18 A TYPE_B East 2019-10-01 20.0
19 A TYPE_B East 2019-11-01 20.0
20 A TYPE_B East 2019-12-01 19.0
21 A TYPE_B East 2020-01-01 20.0
22 A TYPE_B East 2020-02-01 20.0
23 A TYPE_B East 2020-03-01 27.0
字符串
我试图从数据的开始(“2019-04-01”)和结束(“2020-03-01”)时间框架计算每个位置的滚动3个月量,到目前为止,我使用以下代码:
df['Rolling_3_'] = df.loc.iloc[:,4].rolling(window=4).mean()
型
这为我提供了整个数据框架的滚动3个月平均值。然而,有人知道我如何重新启动滚动月份计算,以便当它到达另一个“位置”(如“东部”)时,它将计算该位置的滚动3个月平均值,并继续移动到下一个位置,重新启动计算?实质上计算整个数据集的滚动3个月,但值适用于该位置。有没有办法让我用约会来做这个?例如当“2019-04-01”再次出现时,计算重新开始。
非常感谢您提前提供的任何帮助/建议!
谨致问候,
1条答案
按热度按时间bogh5gae1#
您可以通过以下方式执行分组:
字符串
为您提供:
型
为了将其放入数据框架中,由于索引的不同,您需要传递底层numpy数组
型