我需要计算数据框中的一些前滚平均值,但真的不知道从哪里开始。
我知道如果我想提前 10 天选择一个小区,我会这么做df.shift(-10)
,但我想做的是计算提前 10 到 15 天之间的平均值。
所以我的想法是df.rolling(-10,-15).mean()
,如果我试图计算一个移动平均线,那么 df.rolling(15, 10).mean() 会完美地工作,我确实考虑过像这样计算平均值,然后以某种方式移动数据。
任何帮助都会很棒
非常感谢
您可以计算提前 5 天的滚动平均值,然后shift https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.shift.html再持续 10 个周期。由于负值rolling https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rolling.html不允许,您可以反转轴,向后计算,然后再次反转(请参阅如何前瞻性地使用Pandas的rolling_*函数 https://stackoverflow.com/questions/22820292/how-to-use-pandas-rolling-functions-on-a-forward-looking-basis):
df = pd.DataFrame(np.random.rand(100, 2))
df[::-1].rolling(5).mean()[::-1].shift(-10)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)