title: Left merge leads to larger rows than in left dataframe
body: <p>I have two dataframes, df1 and df2. shapes of df1 is (118093,2) and df2 is (690,5)</p>
  
  <p>I am trying to merge the dataframes using:</p>
  
  <pre><code>df3 = df1.merge(df2, on='consId', how='left')
  </code></pre>
  
  <p>I have removed the duplicates in df2(as suggested <a href="https://stackoverflow.com/questions/22720739/pandas-left-outer-join-results-in-table-larger-than-left-table">here</a>) and I know for a fact that consId in df1 is repeated(although the entire row is not duplicated).</p>
  
  <p>The behaviour I am expecting is that the resulting df3 should have the same number of rows as df1 but with the columns of df2 appended to df1.</p>
  
  <p>My dataframes are as follows:</p>
  
  <pre><code>df_consId[18:25]
  Out[22]: 
             consId  consumption
  18  1155696024483    97.203390
  19  1155696024483    80.527278
  20  1155696024483    78.953125
  21  1155699007557   137.419355
  22  1155699007557   117.145161
  23  1155699007557   101.500000
  24  1155699007557    85.883333
  
  df.head()
  Out[23]: 
            consId rfrg-age  rfrg-rating rfrg-type rfrg-capc
  0  1155696024483    812yr          1.0     1door      150L
  1  1155699007557    812yr          1.0     1door      150L
  2  1155694005571     48yr          1.0     2door      250L
  3  1155691016680      NaN          NaN       NaN       NaN
  4  1155697016945     13yr          5.0     1door      150L
  </code></pre>
  
  <p>And I do <code>df3 = df_consId.merge(df, on= 'consId', how = 'left')</code></p>
  
  <p>Although the merge is working as I intended, there are additional rows in df3 although there are no duplicates in df. Any reason why?</p>