ENH: How do I perform rolling aggregate with lag in terms of time ?
I would like to perform the task called rolling aggregate with lag... Starting with this dataframe

    import pandas as pd
    
    import numpy as np
    
    df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]},
                       index = [pd.Timestamp('20130101 09:00:00'),
                               pd.Timestamp('20130101 09:00:02'),
                                pd.Timestamp('20130101 09:00:03'),
                                pd.Timestamp('20130101 09:00:05'),
                                pd.Timestamp('20130101 09:00:06')])
     
    	B
    2013-01-01 09:00:00 	0.0
    2013-01-01 09:00:02 	1.0
    2013-01-01 09:00:03 	2.0
    2013-01-01 09:00:05 	NaN
    2013-01-01 09:00:06 	4.0


I would need to perform 

    df.rolling("3s excluding first 1s").max() # or more precisely df.rolling("(-3s,-1s]").max() 
    #closed on -1s, open on -3s

My real application involved extremely large dataframe where timestamp also had no constant interval and I also had id. So my real application is really groupby rolling aggregate with lag. (shift approach/merge_as_of approach won't work in my case...)

The expected result is 

    	B
    2013-01-01 09:00:00 	NaN
    2013-01-01 09:00:02 	0.0 
    2013-01-01 09:00:03 	1.0
    2013-01-01 09:00:05 	2.0
    2013-01-01 09:00:06 	NaN

