title: Pandas 'multi-index' issue in merging dataframes
body: <p>I have a panel dataset as <code>df</code></p>
  
  <pre><code>stock    year    date   return
  VOD      2017    01-01   0.05
  VOD      2017    01-02   0.03
  VOD      2017    01-03   0.04
  ...      ...     ...     ....
  BAT      2017    01-01   0.05
  BAT      2017    01-02   0.07
  BAT      2017    01-03   0.10
  </code></pre>
  
  <p>so I use this code to get the mean and skewness of the return for each stock in each year.</p>
  
  <pre><code>df2=df.groupby(['stock','year']).mean().reset_index()
  df3=df.groupby(['stock','year']).skew().reset_index()
  </code></pre>
  
  <p><code>df2</code> and <code>df3</code> look fine. </p>
  
  <p><code>df2</code> is like (after I change the column name)</p>
  
  <pre><code>stock    year   mean_return
   VOD     2017    0.09
   BAT     2017    0.14
   ...      ...    ...
  </code></pre>
  
  <p><code>df3</code> is like (after I change the column name)</p>
  
  <pre><code>stock    year   return_skewness
   VOD     2017    -0.34
   BAT     2017    -0.04
   ...      ...    ...
  </code></pre>
  
  <p>The problem is when I tried to merge <code>df2</code> and <code>df3</code> by using</p>
  
  <pre><code>want=pd.merge(df2,df2, on=['stock','year'],how='outer')
  </code></pre>
  
  <p>python gave me </p>
  
  <pre><code>'The column label 'stock' is not unique.
  For a multi-index, the label must be a tuple with elements corresponding to each level.'
  </code></pre>
  
  <p>, which confuses me alot. </p>
  
  <p>I can use  <code>want = pd.merge(df2,df3, left_index=True, right_index=True, how='outer')</code> to merge <code>df2</code> and <code>df3</code>, but after that i have to rename the columns as column names are in parentheses.</p>
  
  <p>Is there any convenient way to merge <code>df2</code> and <code>df3</code> ? Thanks</p>