【发布时间】:2017-11-12 05:56:01
【问题描述】:
我有一个数据框,其中包含每秒的全年值数据:
YYYY-MO-DD HH-MI-SS_SSS TEMPERATURE (C)
2016-09-30 23:59:55.923 28.63
2016-09-30 23:59:56.924 28.61
2016-09-30 23:59:57.923 28.63
... ...
2017-05-30 23:59:57.923 30.02
我想创建一个新的数据框,该数据框采用每周或每月的值,并在每天的同一小时内对它们进行平均(一种移动平均线,但每小时计算一次)。 所以月份情况的结果是这样的:
Date TEMPERATURE (C)
2016-09 00:00:00 28.63
2016-09 01:00:00 27.53
2016-09 02:00:00 27.44
...
2016-10 00:00:00 28.61
... ...
我知道我可以将每个月的 df 分成 12 个 df 并使用:
hour = pd.to_timedelta(df['YYYY-MO-DD HH-MI-SS_SSS'].dt.hour, unit='H')
df2 = df.groupby(hour).mean()
但我正在寻找更好更快的方法。
谢谢!!
【问题讨论】:
标签: python pandas dataframe average moving-average