使用pandas asfreq/resample获得周期结束

使用pandas asfreq/resample获得周期结束,pandas,Pandas,我试图找到每天的平均值,并将该值作为一年中每小时的输入。问题是最后一天只包含第一个小时 rng = pd.date_range('2011-01-01', '2011-12-31') ts = pd.Series(np.random.randn(len(rng)), index=rng) days = ts.resample('D') day_mean_in_hours = asfreq('H', method='ffill') day_mean_in_hours.tail(5) 2011-12

我试图找到每天的平均值,并将该值作为一年中每小时的输入。问题是最后一天只包含第一个小时

rng = pd.date_range('2011-01-01', '2011-12-31')
ts = pd.Series(np.random.randn(len(rng)), index=rng)
days = ts.resample('D')
day_mean_in_hours = asfreq('H', method='ffill')
day_mean_in_hours.tail(5)
2011-12-30 20:00:00   -0.606819
2011-12-30 21:00:00   -0.606819
2011-12-30 22:00:00   -0.606819
2011-12-30 23:00:00   -0.606819
2011-12-31 00:00:00   -2.086733
Freq: H, dtype: float64
有没有一种很好的方法可以将频率改为小时,但仍然可以得到完整的最后一天?

您可以使用覆盖最后一整天的小时DatetimeIndex来创建框架

hourly_rng = pd.date_range('2011-01-01', '2012-01-01', freq='1H', closed='left')
day_mean_in_hours = day_mean_in_hours.reindex(hourly_rng, method='ffill')
另一个例子见