title: Group by date range in pandas dataframe
body: <p>I have a time series data in pandas, and I would like to group by a certain time window in each year and calculate its min and max. </p>
  
  <p>For example:</p>
  
  <pre><code>times = pd.date_range(start = '1/1/2011', end = '1/1/2016', freq = 'D')
  df = pd.DataFrame(np.random.rand(len(times)), index=times, columns=["value"])
  </code></pre>
  
  <p>How to group by time window <code>e.g. 'Jan-10':'Mar-21'</code> for each year and calculate its min and max for column <code>value</code>?</p>