2017-08-29 83 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