计算温度异常的滚动平均值-python

问题描述 投票:0回答:1

数据集按年-月-日(日期)建立索引,并具有列TMAX和TMIN。

我需要计算您计算出的每个异常的滚动平均值。使用10年的窗口并将窗口居中,然后将其添加到绘图中。

这部分代码创建异常图:

tmaxanom = cll.TMAX - cll.TMAX.mean()
tminanom = cll.TMIN - cll.TMIN.mean()
yearlytmax = tmaxanom.resample('1y').mean()
yearlytmin = tminanom.resample('1y').mean()
ax = plt.plot(yearlytmax, color='red', lw=2, ms=3, marker='o')
ax = plt.plot(yearlytmin, color='blue', lw=2, ms=3, marker='o')
plt.legend(('TMAX Anomaly', 'TMIN Anomaly'), loc='best')
plt.xlabel("Year")
plt.ylabel("Degrees C")
plt.title("Temperature Anomalies in College Station, Texas")

我正在尝试通过以下方式计算滚动平均值:

rolmean = yearlytmax.rolling(window=10, center=True)
rolmean2 = yearlytmin.rolling(window=10, center=True)
plt.plot(rolmean, color='pink', label='Rolling Mean Max')
plt.plot(rolmean2, color='yellow', label='Rolling Mean Min')

但是这导致python引发错误:NotImplementedError:参见问题#11704 https://github.com/pandas-dev/pandas/issues/11704

我点击了链接,但是仍然不确定如何解决此问题。

数据样本为:

DATE TMAX. TMIN 1951-08-01 37.8 22.8 1951-08-02 37.8 22.2 1951-08-03 40.0 23.9 1951-08-04 41.7 26.7 1951-08-05 41.1 26.1 1951-08-06 40.6 26.7 1951-08-07 38.9 24.4 1951-08-08 39.4 25.0 1951-08-09 38.9 24.4 1951-08-10 38.9 24.4 1951-08-11 38.9 22.2 1951-08-12 40.0 23.3 1951-08-13 40.6 22.8 1951-08-14 41.1 25.6 1951-08-15 41.1 23.9 1951-08-16 42.2 24.4 1951-08-17 41.7 24.4 1951-08-18 36.7 21.7 1951-08-19 31.7 23.3 1951-08-20 36.7 21.7 1951-08-21 38.3 23.3 1951-08-22 39.4 22.2 1951-08-23 37.2 23.9 1951-08-24 37.8 23.3 1951-08-25 38.3 23.9 1951-08-26 37.8 23.3 1951-08-27 37.8 23.9 1951-08-28 38.3 22.8 1951-08-29 38.3 23.3 1951-08-30 38.9 23.9 ... ... ...

python pandas moving-average
1个回答
0
投票

我通过在每个滚动均值命令的末尾添加.mean()使其正常工作,因此看起来像:

rolmean = yearlytmax.rolling(window=10, center=True).mean()
rolmean2 = yearlytmin.rolling(window=10, center=True).mean()
© www.soinside.com 2019 - 2024. All rights reserved.