【发布时间】:2021-07-11 07:26:02
【问题描述】:
我有一个时间序列的每日数据,我想取某个时期的滚动平均值。 Datetime.Offset 可以做到这一点吗?
代码可能如下所示:
l = [7.71, 7.79, 6.80, 6.44, 6.46, 6.80]
index = pd.DatetimeIndex(['2016-01-04', '2016-01-05', '2016-01-06',
'2017-01-04' ,'2017-01-05' ,'2017-01-06'])
df = pd.DataFrame(l, columns=['col'], index = index)
我想要计算时间序列的年平均值。使用上述数字,输出应如下所示:
2017-01-04 7.185
2017-01-05 6.873
2017-01-05 6.625
我试着写成这样
df.rolling(window=1, freq='A').mean()
但收到以下错误消息:
TypeError: rolling() got an unexpected keyword argument 'freq'
我也尝试了以下方法:
do = pd.DateOffset(years = 1)
eps.rolling(window=do).mean()
但收到以下错误消息:
ValueError: <DateOffset: years=1> is a non-fixed frequency
这可能与rollong有关还是我应该尝试其他方法?
【问题讨论】:
-
您能否确认所需的输出是如何计算的?
标签: python pandas rolling-computation datetimeoffset