title: pandas: unexpected join behavior results in NaN
body: <p>I have two dataframes that I'm trying to join in pandas (version 0.18.1).</p>
  
  <pre><code>test1 = pd.DataFrame({'id': range(1,6), 'place': ['Kent','Lenawee','Washtenaw','Berrien','Ottawa']})
  
    id_1      place
  0   1       Kent
  1   2    Lenawee
  2   3   Montreal
  3   4    Berrien
  4   5     Ottawa
  
  
  test2 = pd.DataFrame({'id_2': range(6,11), 'id_parent': range(1,6)})
  
     id_2  id_parent
  0     6          1
  1     7          2
  2     8          3
  3     9          4
  4    10          5
  </code></pre>
  
  <p>Yet when I join the two tables, the last row doesn't join properly and, because it's a left join, results in NaN.</p>
  
  <pre><code>df = test2.join(test1,on='id_parent',how='left')
  
     id_2  id_parent  id_1      place
  0     6          1     2    Lenawee
  1     7          2     3   Montreal
  2     8          3     4    Berrien
  3     9          4     5     Ottawa
  4    10          5   NaN        NaN
  </code></pre>
  
  <p>This doesn't make sense to me-- id_parent and id_1 are the keys on which to join the two tables, and they both have the same value. Both columns have the same dtype (int64). What's going on here?</p>