与一般理解的四舍五入不同,在误差理论中:当整数部分是偶数,小数部分是0.5时,向下取整,最后结果为偶数;当整数部分是奇数,小数部分是0.5时,则向上取整,最后结果为偶数。这样得到的结果在统计学上更精确。numpy的round()函数采用的是这种方法。
a = np.arange(-5.5,5.5)
print(a)
#[-5.5 -4.5 -3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5 4.5]
#round 四舍五入, 可指定精度,但是0.5奇数进偶数不进
print(np.round(a))
#[-6. -4. -4. -2. -2. -0. 0. 2. 2. 4. 4.]