title: Pandas - New Row for Each Day in Date Range
body: <p>I have a Pandas df with one column (Reservation_Dt_Start) representing the start of a date range and another (Reservation_Dt_End) representing the end of a date range. </p>
  
  <p>Rather than each row having a date range, I'd like to expand each row to have as many records as there are dates in the date range, with each new row representing one of those dates. </p>
  
  <p>See the two pics below for an example input and the desired output.  </p>
  
  <p><a href="https://i.stack.imgur.com/7URpc.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/7URpc.jpg" alt="Input"></a><a href="https://i.stack.imgur.com/k9Cpz.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/k9Cpz.jpg" alt="Output"></a></p>
  
  <p>The code snippet below works!! However, for every 250 rows in the input table, it takes 1 second to run. Given my input table is 120,000,000 rows in size, this code will take about one week to run. </p>
  
  <pre><code>pd.concat([pd.DataFrame({'Book_Dt': row.Book_Dt,
                           'Day_Of_Reservation': pd.date_range(row.Reservation_Dt_Start, row.Reservation_Dt_End),
                           'Pickup': row.Pickup,
                           'Dropoff' : row.Dropoff,
                           'Price': row.Price}, 
  
                            columns=['Book_Dt','Day_Of_Reservation', 'Pickup', 'Dropoff' , 'Price']) 
                            for i, row in df.iterrows()], ignore_index=True)
  </code></pre>
  
  <p>There has to be a faster way to do this. Any ideas? Thanks!</p>