用pandas处理数据偶然发现
s = pd.Series([-1, 1.2345, 100, -50]) s.round(3)
结果是
0 -1.000 1 1.234 2 100.000 3 -50.000 dtype: float64
发现1.2345四舍五入后的结果是1.234.理论上应该是1.235才对
后来测试发现,1.23451四舍五入后就是1.235
猜测是浮点数精度问题.python并不能精确地知道这一位是4还是5
详细解释见这篇文章:
如何使用Python进行正确的四舍五入?这个坑有点大



