title: How to flatten pandas dataframe
body: <p>Here is my pandas dataframe, and I would like to flatten. How can I do that ?</p>
  
  <p><strong>The input I have</strong></p>
  
  <pre><code>key column
  1 {'health_1': 45, 'health_2': 60, 'health_3': 34, 'health_4': 60, 'name': 'Tom'}   
  2 {'health_1': 28, 'health_2': 10, 'health_3': 42, 'health_4': 07, 'name': 'John'}  
  3 {'health_1': 86, 'health_2': 65, 'health_3': 14, 'health_4': 52, 'name': 'Adam'}
  </code></pre>
  
  <p><strong>The expected output</strong></p>
  
  <p>All the <code>health</code> and <code>name</code> will become a <code>column name</code> of their own with their corresponding <code>values</code>. In no particular order.</p>
  
  <pre><code>health_1 health_2 health_3 health_4 name key
  45          60       34       60    Tom  1
  28          10       42       07    John 2
  86          65       14       52    Adam 3
  </code></pre>