matching a downsampled index
Is there any way to downsample(i.e.) go from minutes to hours, hours to minute when performing an operation between to dataframes?

In finance, there are questions like what is my overnight return right now so you may want to compute all returns at a time period using the reference point yesterday's price at 16:00

My solution has always looked liked this:
    df_daily = df[df["dt"].hour == 16].copy().shift(1)
    df = df.join(df_daily, rsuffix="closing_").fillna(method="ffill")

Is there any approach that I am missing or that I can contribute to cython that would solve this?
Also, here is an example question from stack overflow where it came up today
http://stackoverflow.com/q/24826483/1064197
