title: pandas: merged (inner join) data frame has more rows than the original ones
body: <p>I am using python 3.4 on Jupyter Notebook, trying to merge two data frame like below:</p>
  
  <pre><code>df_A.shape
  (204479, 2)
  
  df_B.shape
  (178, 3)
  
  new_df = pd.merge(df_A, df_B,  how='inner', on='my_icon_number')
  new_df.shape
  (266788, 4)
  </code></pre>
  
  <p>I thought the <code>new_df</code> merged above should have few rows than <code>df_A</code> since merge is like an inner join. But why <code>new_df</code> here actually has more rows than <code>df_A</code>? </p>
  
  <p>Here is what I actually want:</p>
  
  <p>my <code>df_A</code> is like:</p>
  
  <pre><code> id           my_icon_number
  -----------------------------
   A1             123             
   B1             234
   C1             123
   D1             235
   E1             235
   F1             400
  </code></pre>
  
  <p>and my <code>df_B</code> is like:</p>
  
  <pre><code>my_icon_number    color      size
  -------------------------------------
    123              blue      small
    234              red       large 
    235              yellow    medium
  </code></pre>
  
  <p>Then I want <code>new_df</code> to be:</p>
  
  <pre><code> id           my_icon_number     color       size
  --------------------------------------------------
   A1             123              blue        small
   B1             234              red         large
   C1             123              blue        small
   D1             235              yellow      medium
   E1             235              yellow      medium
  </code></pre>
  
  <p>I don't really want to remove duplicates of my_icon_number in df_A. Any idea what I missed here?</p>