繁体   English   中英

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

[英]Calculating Rolling Mean of Temperature Anomalies- python

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

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

这部分代码创建了一个异常的 plot:

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: See issue #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... ... ...

我通过在每个滚动平均命令的末尾添加.mean()来使其工作,所以它看起来像:

rolmean = yearlytmax.rolling(window=10, center=True).mean()
rolmean2 = yearlytmin.rolling(window=10, center=True).mean()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM