title: Pandas: Update() dataframe issue
body: <p>I am using pandas 0.18 on Suse Enterprise Linux 11 w/ python 2.7.9. I have two tables, A and B.</p>
  
  <p>A contains the following column and types:</p>
  
  <pre><code>&gt;&gt;&gt; print a.dtypes
  cid     object
  bid     int64
  li      object
  lit     int64
  x1      float64
  y1      float64
  x2      float64
  y2      float64
  hit_num object
  </code></pre>
  
  <p>B contains the following column and types:</p>
  
  <pre><code>&gt;&gt;&gt; print b.dtypes
      cid     object
      li      object
      x1      float64
      y1      float64
      x2      float64
      y2      float64
      hit_num object
  </code></pre>
  
  <p>Now here is a sample dataset for A:</p>
  
  <pre><code>cid,bid,li,lit,x1,y1,x2,y2,hit_num
  id1,0,m0,1,6775.5711,6102.5771,6775.6051,6102.7731,
  id1,0,m0,2,6775.5311,6103.0631,6775.5531,6103.2051,
  id1,0,m0,3,6775.6231,6103.0631,6775.6451,6103.2051,
  id1,0,m0,4,6775.1631,6103.6571,6775.1971,6103.7451,
  </code></pre>
  
  <p>Now here is a sample dataset for B:</p>
  
  <pre><code>cid,li,x1,y1,x2,y2,hit_num    
  id1,m0,6775.1631,6103.6571,6775.1971,6103.7451,hello
  id1,m0,6775.6231,6103.0631,6775.6451,6103.2051,world
  id1,m0,6775.5311,6103.0631,6775.5531,6103.2051,gotta
  id1,m0,6775.5711,6102.5771,6775.6051,6102.7731,go
  </code></pre>
  
  <p>I do <strong>A.update(B)</strong>. So I'm expecting B[hit_num] to update A[hit_num] by aligning on columns cid,lid,x1,y1,x2,y2.</p>
  
  <p>So I expect something like this (unless my understanding of update() is wrong?):</p>
  
  <pre><code>cid,bid,li,lit,x1,y1,x2,y2,hit_num
  id1,0,m0,1,6775.5711,6102.5771,6775.6051,6102.7731,0.018,0.02,0.0269,go
  id1,0,m0,2,6775.5311,6103.0631,6775.5531,6103.2051,0.018,0.02,0.0269,gotta
  id1,0,m0,3,6775.6231,6103.0631,6775.6451,6103.2051,0.018,0.02,0.0269,world
  id1,0,m0,4,6775.1631,6103.6571,6775.1971,6103.7451,0.018,0.02,0.0269,hello
  </code></pre>
  
  <p>However, what I end up getting the below. The 'lit' columns (highlighted in bold) seems to be messed up, and there is a duplicated entry of '1'. This is not present in A. I am wondering why this is happening. I created a small example and tried to reproduce the issue, but was unsuccessful. I get expected results there. </p>
  
  <p>However, in a larger table that I'm running my regression on, I'm seeing this behavior. I've printed table A, table B and A.update(B), and I see the below. I'm not calling any other dataframe operations in between. I.e., pseudocode:</p>
  
  <pre><code>print v['les_tables']['foo']
  print overlay_tables['foo']
  v['les_tables']['foo'].update(overlay_tables['foo'])
  print v['les_tables']['foo']
  </code></pre>
  
  <p>I am not totally sure how update works, but I would think it is using some type of equality operator to match columns?  If so, would x1,y1,x2,y2 being float64 be causing any issue? Any ideas what I'm doing wrong?</p>
  
  <p>I've confirmed the columns to align on are the same name/type in both A/B (see A.dtypes/B.dtypes above).</p>
  
  <p>cid,bid,li,lit,x1,y1,x2,y2,hit_num
  id1,0,m0,<strong>1</strong>,6775.5711,6102.5771,6775.6051,6102.7731,0.018,0.02,0.0269,go
  id1,0,m0,<strong>3</strong>,6775.5311,6103.0631,6775.5531,6103.2051,0.018,0.02,0.0269,gotta
  id1,0,m0,<strong>2</strong>,6775.6231,6103.0631,6775.6451,6103.2051,0.018,0.02,0.0269,world
  id1,0,m0,<strong>1</strong>,6775.1631,6103.6571,6775.1971,6103.7451,0.018,0.02,0.0269,hello</p>