title: Split date ranges into details by months using pandas or numpy
body: <p>I have a list of events (A, B, C) in a dataframe and two dates for each event and I need to split those dates within their respective months.</p>
  <p><em>Example:</em></p>
  <pre><code>data = {'Name': ['A', 'B', 'C'], 'Start_time': ['2017-12-15', '2017-12-15', '2017-12-15'], 'End_time': ['2018-01-17', '2017-12-22', '2018-05-22']}
  df = pd.DataFrame(data)
  </code></pre>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>Events</th>
  <th>Start_date</th>
  <th>End_date</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>A</td>
  <td>2017-12-15</td>
  <td>2018-01-17</td>
  </tr>
  <tr>
  <td>B</td>
  <td>2017-12-15</td>
  <td>2017-12-22</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2017-12-15</td>
  <td>2018-05-22</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p><em>Expected results:</em></p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>Events</th>
  <th>Start_date</th>
  <th>End_date</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>A</td>
  <td>2017-12-15</td>
  <td>2017-12-31</td>
  </tr>
  <tr>
  <td>A</td>
  <td>2018-01-01</td>
  <td>2018-01-17</td>
  </tr>
  <tr>
  <td>B</td>
  <td>2017-12-15</td>
  <td>2017-12-22</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2017-12-15</td>
  <td>2017-12-31</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2018-01-01</td>
  <td>2018-01-31</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2018-02-01</td>
  <td>2018-02-28</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2018-03-01</td>
  <td>2018-03-31</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2018-04-01</td>
  <td>2018-04-30</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2018-05-01</td>
  <td>2018-05-22</td>
  </tr>
  </tbody>
  </table>
  </div>