df = pd.DataFrame([1, 2, 3], index=[dt.datetime(2013, 1, 1), dt.datetime(
    2013, 1, 3), dt.datetime(2013, 1, 5)])
df
start = df.index.searchsorted(dt.datetime(2013, 1, 2))
end = df.index.searchsorted(dt.datetime(2013, 1, 4))
df.ix[start:end]
python pandas dataframe slicing by date conditions