In [15]: df = pd.DataFrame([1, 2, 3], index=[dt.datetime(2013, 1, 1), dt.datetime(2013, 1, 3), dt.datetime(2013, 1, 5)])  In [16]: df Out[16]:              0 2013-01-01  1 2013-01-03  2 2013-01-05  3  In [22]: start = df.index.searchsorted(dt.datetime(2013, 1, 2))  In [23]: end = df.index.searchsorted(dt.datetime(2013, 1, 4))  In [24]: df.iloc[start:end] Out[24]:              0 2013-01-03  2

Read more of this post