title: Vectorizing stacking of data given alternating date columns and value between two date columns
body: <p>My records look like this. Consumption value is in between two columns, For e.g. consumption from Aug 17 (Field 13) to Sept 17 (Field 11) is 6.1 (Field 12) and so on.</p>
  
  <pre><code>INSTALL METER_NO    Field3  Field4  Field5  Field6  Field7  Field8  Field9  Field10 Field11 Field12 Field13
  80000000    19151882    1-Jan-18    5.6 1-Dec-17    7.9 1-Nov-17    5.5 1-Oct-17    4.4 1-Sep-17    6.1 1-Aug-17
  80000001    31692087    1-Jan-18    55.5    1-Dec-17    62.7    1-Nov-17    2.2 1-Oct-17    2   1-Sep-17    9.3 1-Aug-17
  80000003    MISSING 1-Jan-18    0   1-Dec-17    0   1-Nov-17    0   1-Oct-17    0   1-Sep-17    0   1-Aug-17
  80000004    98914998    1-Jan-18    8.6 1-Dec-17    19.4    1-Nov-17    7.5 1-Oct-17    5.4 1-Sep-17    6.8 1-Aug-17
  80000005    48962501    1-Jan-18    1   1-Dec-17    1.3 1-Nov-17    1.8 1-Oct-17    1.7 1-Sep-17    2.7 1-Aug-17
  80000006    14954563    1-Jan-18    0   1-Dec-17    0   1-Nov-17    0   1-Oct-17    0   1-Sep-17    0   1-Aug-17
  </code></pre>
  
  <p>I am trying to get them in this format:</p>
  
  <pre><code>Install Meter_NO    From    To  Consumption
  80000000    19151882    8/1/2017    9/1/2017    6.1
  80000000    19151882    9/1/2017    10/1/2017   4.4
  80000000    19151882    10/1/2017   11/1/2017   5.5
  80000000    19151882    11/1/2017   12/1/2017   7.9
  80000000    19151882    12/1/2017   1/1/2018    5.6
  ....
  </code></pre>
  
  <p>Is there a way to do this without iterating over the dataframe?</p>