2017-08-29 84 views
0

为什么这个舍入误差在大熊猫

>>> pd.Series(94.175).values[0] 
>>> 94.174999999999997 

我用下jupyter笔记本python3.5和pandas0.20。

+0

也有关:https://stackoverflow.com/questions/1089018/why-cant-decimal-numbers-be-represented-exactly-in-binary和https://docs.python.org/3/tutorial/ floatingpoint.html – Evert

回答

0

这是因为有些数字不能精确地表示为小数点。要找到小数点的确切值,您可能会喜欢使用.hex操作符。并将其转换为更多的解释,你可能会使用循环函数。

+0

“将其转换为更多的解释,你可能会使用循环函数”:只需使用适当的(打印)格式。四舍五入将其变成另一个/相同的浮点数,但仍然无法正确表示。 – Evert