title: Round function does return different value depending on the type
body: <p>I just found this strange thing digging for an error in my code: </p>
  
  <pre><code>import pandas as pd
  
  dt=pd.DataFrame(columns=['number'])
  dt=dt.append({'number': 5.395},ignore_index=True)
  
  r=dt.iloc[[0]]
  
  print(round(r['number'].values[0],2))
  print(round(float(r['number'].values[0]),2))
  </code></pre>
  
  <p>So here is the output:</p>
  
  <pre><code>5.4
  5.39
  </code></pre>
  
  <p>I will solve it easily but should I warn python community ?</p>
  
  <p>thx</p>