title: Pandas - Split columns into rows while keeping indices
body: <p>I have the following simplified <code>DataFrame</code>:</p>
  
  <pre class="lang-py prettyprint-override"><code>import pandas as pd
  
  pd.DataFrame([{'index_a':'a1', 'index_b':'b1', 'value_x':'x1', 'value_y':'y1'},
                {'index_a':'a2', 'index_b':'b2', 'value_x':'x2', 'value_y':'y2'},
                {'index_a':'a3', 'index_b':'b3', 'value_x':'x3', 'value_y':'y3'}])
  </code></pre>
  
  <p>It contains two indices and two value columns. For downstream usage, it does not make sense to have two value columns (they are from the same distribution). I therefore want to 'explode' these columns and make one large list. This is what should result:</p>
  
  <pre class="lang-py prettyprint-override"><code>pd.DataFrame([{'index_a':'a1', 'index_b':'b1', 'value':'x1'},
                {'index_a':'a1', 'index_b':'b1', 'value':'x1'},
                {'index_a':'a2', 'index_b':'b2', 'value':'x2'},
                {'index_a':'a2', 'index_b':'b2', 'value':'y2'},
                {'index_a':'a3', 'index_b':'b3', 'value':'x3'},
                {'index_a':'a3', 'index_b':'b3', 'value':'y3'}])
  </code></pre>
  
  <p>I tried isolating values via <code>.value</code> and <code>.ravel()</code> but none yielded the desired results.</p>
  
  <p>Thanks in advance. BBQuercus :)</p>