title: round() function behaves differently in apply() function
body: <p>I grabbed a row from a dataframe which is like the following:</p>
  
  <p><a href="https://i.stack.imgur.com/Y9LUE.png" rel="nofollow noreferrer">https://i.stack.imgur.com/Y9LUE.png</a></p>
  
  <p>or </p>
  
  <pre><code>Clicks  Spend   clk_ar  CPC     AdRank  temp    tempRan
  36.0    248.76  59.94   6.91    1.67    1.665   1.67
  </code></pre>
  
  <p>I need to round values with 2 digits in column <code>temp</code></p>
  
  <p>Option 1:</p>
  
  <pre><code>round(df.temp,2)
  
  OUTPUT:
  1676725    1.66
  Name: temp, dtype: float64
  </code></pre>
  
  <p>Option 2:</p>
  
  <pre><code>df.temp.apply(lambda x:round(x,2))
  
  OUTPUT:
  1676725    1.67
  Name: temp, dtype: float64
  </code></pre>
  
  <p>The two round functions show different behaviors. Obviously option 1 is aligned with python 3 behavior. See <a href="https://stackoverflow.com/questions/10825926/python-3-x-rounding-behavior">Python 3.x rounding behavior</a></p>
  
  <p>I am just wondering why option 2 behaves like that. Thanks for your help!</p>