Resample daily pandas timeseries with start at time other than midnight

The base keyword can do the trick (see docs):

s.resample('24h', base=5)

Eg:

In [35]: idx = pd.date_range('2012-01-01 00:00:00', freq='5min', periods=24*12*3)

In [36]: s = pd.Series(np.arange(len(idx)), index=idx)

In [38]: s.resample('24h', base=5)
Out[38]: 
2011-12-31 05:00:00     29.5
2012-01-01 05:00:00    203.5
2012-01-02 05:00:00    491.5
2012-01-03 05:00:00    749.5
Freq: 24H, dtype: float64

I've just spotted an answered question which didn't come up on Google or Stack Overflow previously:

Resample hourly TimeSeries with certain starting hour

This uses the base parameter, which looks like an addition subsequent to Wes McKinney's Python for Data Analysis. I've given the parameter a go and it seems to do the trick.

Tags:

Python

Pandas