是否有一种快速的方法,使用熊猫来确定一系列的滚动均值是增加还是减少?
现在我这样做是为了在我的情节上绘制滚动平均值:
grouped.get_group(key)['COUNT'].rolling(window=30, center=False).mean()
这给了我30天的平均值。我想比较过去30天到之前的30天(当天 - 60到当天 - 31)。然后我可以确定趋势是增加还是减少。
我该如何进行比较?
答案 0 :(得分:1)
你可以使用shift函数来移动Series,然后进行比较,就像这样
import pandas as pd
import numpy as np
df = pd.DataFrame ({'a':np.random.rand(100)})
df = df.assign (b = df.a.shift(30))
df.assign (c = df.a>df.b)
a b c
0 0.812733 NaN False
1 0.458400 NaN False
2 0.248011 NaN False
3 0.143784 NaN False
4 0.821032 NaN False
... ... ... ...
95 0.214292 0.458125 False
96 0.770356 0.208277 True
97 0.373172 0.373885 False
98 0.179586 0.860838 False
99 0.657406 0.297257 True