title: Nested merges in pandas with suffixes
body: <p>I'm trying to merge multiple dataframes in pandas and keep the column labels straight in the resulting dataframe.  Here's my test case:</p>
  
  <pre><code>import pandas as pd
  df1 = pd.DataFrame(data = [[1,1],[3,1],[5,1]], columns = ['key','val'])
  df2 = pd.DataFrame(data = [[1,2],[3,2],[7,2]], columns = ['key','val'])
  df3 = pd.DataFrame(data = [[1,3],[2,3],[4,3]], columns = ['key','val'])
  df = pd.merge(pd.merge(df1,df2,on='key', suffixes=['_1','_2']),df3,on='key',suffixes=[None,'_3'])
  </code></pre>
  
  <p>I'm getting this:</p>
  
  <pre><code>df =
       key    val_1   val_2   val
  0     1       1      2       3
  </code></pre>
  
  <p>I'd like to see this:</p>
  
  <pre><code>df =
       key    val_1   val_2   val_3
  0     1       1      2       3
  </code></pre>
  
  <p>The last pair of suffixes that I've specified is: <code>[None,'_3']</code>, the logic being that the pair <code>['_1','_2']</code> has created unique column names for the previous merge.</p>