title: How to melt first level column in multiindex with pandas
body: <p>I have this multiindex dataframe:</p>
  
  <pre><code>df=pd.DataFrame(np.zeros((3,6)))
  df.columns=pd.MultiIndex.from_arrays([['a','a','b','b','c','c'],[1,2,1,2,1,2]])
  df['a']=10
  df['b']=20
  df['c']=40
  
  print(df)
  
  Out[10]: 
      a       b       c    
      1   2   1   2   1   2
  0  10  10  20  20  40  40
  1  10  10  20  20  40  40
  2  10  10  20  20  40  40
  </code></pre>
  
  <p>And i want to get this:</p>
  
  <pre><code>Out[10]: 
  
     names  1   2
  0      a  10  10
  1      a  10  10
  2      a  10  10
  0      b  20  20
  1      b  20  20
  2      b  20  20
  0      c  40  40
  1      c  40  40
  2      c  40  40
  </code></pre>
  
  <p>I know that I can separate each column first level in a dataframe and then do an append, but I'm looking for a better way to do it.</p>
  
  <p>I've tried to do it with the command melt but I always get an error.</p>
  
  <p>Any ideas?</p>