title: merge pandas dataframe with key duplicates
body: <p>I have 2 dataframes, both have a key column which could have duplicates, but the dataframes mostly have the same duplicated keys. I'd like to merge these dataframes on that key, but in such a way that when both have the same duplicate those duplicates are merged respectively. In addition if one dataframe has more duplicates of a key than the other, I'd like it's values to be filled as NaN. For example: </p>
  
  <pre><code>df1 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K2', 'K2', 'K3'],
                      'A':   ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']}, 
                     columns=['key', 'A'])
  df2 = pd.DataFrame({'B':   ['B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6'],
                      'key': ['K0', 'K1', 'K2', 'K2', 'K3', 'K3', 'K4']}, 
                     columns=['key', 'B'])
  
    key   A
  0  K0  A0
  1  K1  A1
  2  K2  A2
  3  K2  A3
  4  K2  A4
  5  K3  A5
  
    key   B
  0  K0  B0
  1  K1  B1
  2  K2  B2
  3  K2  B3
  4  K3  B4
  5  K3  B5
  6  K4  B6
  </code></pre>
  
  <p>I'm trying to get the following output</p>
  
  <pre><code>   key    A   B
  0   K0   A0  B0
  1   K1   A1  B1
  2   K2   A2  B2
  3   K2   A3  B3
  6   K2   A4  NaN
  8   K3   A5  B4
  9   K3  NaN  B5
  10  K4  NaN  B6
  </code></pre>
  
  <p>So basically, I'd like to treat the duplicated K2 keys as K2_1, K2_2, ... and then do the how='outer' merge on the dataframes.
  Any ideas how I can accomplish this? </p>