Python 历年月移动平均数
我是熊猫的新手,希望您能指导我解决以下问题。我有一个如下所示的数据帧:Python 历年月移动平均数,python,numpy,pandas,Python,Numpy,Pandas,我是熊猫的新手,希望您能指导我解决以下问题。我有一个如下所示的数据帧: In [88]: df.head() Out[88]: Jan Feb Mar Apr May Jun ... Dec Year ... 1758 13 15 14 5 5 5 ... 12 1759 11 10 7 4 3 6 ...
In [88]: df.head()
Out[88]:
Jan Feb Mar Apr May Jun ... Dec
Year ...
1758 13 15 14 5 5 5 ... 12
1759 11 10 7 4 3 6 ... 11
1760 19 15 18 5 13 6 ... 11
1761 14 16 14 9 9 11 ... 10
1762 13 12 12 8 5 3 ... 11
我需要按以下方式计算每月移动平均数:
1761年3月的移动平均值=(1761年3月的值)/(1760年9月至1761年8月的值之和)
如果我使用pandas的滚动平均函数,我如何编写逻辑代码来检查特定点的前置行或后继行 最简单的方法是使用将数据重塑为长格式,这可以直接传递到滚动平均值
In [34]: pd.rolling_mean(df.stack(), window=12)
Out[34]:
Year
1758 Jan NaN
Feb NaN
Mar NaN
Apr NaN
May NaN
Jun NaN
Jul NaN
Aug NaN
Sep NaN
Oct NaN
Nov NaN
Dec 0.035038
1759 Jan -0.076660
Feb -0.153907
Mar -0.286818
Apr -0.306684
May -0.159371
Jun -0.230627
Jul -0.175845