I'm posting this with what I think is the answer because I couldn't find a similar question-answer here.
I expected pandas round
method to round 0.5 up to 1.
>>> import pandas as pd
>>> pd.Series([0.5, 1.5, 2.5, 3.5, 4.5]).round()
0 0.0
1 2.0
2 2.0
3 4.0
4 4.0
dtype: float64
Even more strange: Python's round method has different behaviour in Python 2.7 and 3.6:
Python 2.7:
>>> [round(x) for x in [0.5, 1.5, 2.5, 3.5, 4.5]]
[1.0, 2.0, 3.0, 4.0, 5.0]
Python 3.6:
>>> [round(x) for x in [0.5, 1.5, 2.5, 3.5, 4.5]]
[0, 2, 2, 4, 4]
Is this something to do with floating-point representation or my platform (Mac OS X)?