title: Pandas: rounding halfway values in dataframe using np.round and applymap
body: <p>I want to understand why I get different values when using 1) np.round and 2) applymap on the same DF</p>
  
  <p>my df</p>
  
  <pre><code> df1 = pd.DataFrame({'total': [25.23, 3.55, 76.55, 36.48, 45.59]}, index=['cat1', 'cat2', 'cat3', 'cat4', 'cat5'])
  
        total
  cat1  25.23
  cat2   3.55
  cat3  76.55
  cat4  36.48
  cat5  45.59
  </code></pre>
  
  <p>np.round returns</p>
  
  <pre><code>np.round(df1, 1)
        total
  cat1   25.2
  cat2    3.6
  cat3   76.6
  cat4   36.5
  cat5   45.6
  </code></pre>
  
  <p>appymap returns </p>
  
  <pre><code>df1.applymap(lambda x: round(x,1))
        total
  cat1   25.2
  cat2    3.5
  cat3   76.5
  cat4   36.5
  cat5   45.6
  </code></pre>
  
  <p>As you can see, np.round rounds up halfway values while applymap rounds down. What's going on?</p>