有没有人能给我解释一下,为什么这个精确的数字舍入后,麻木圆表现得很奇怪:
df = pd.DataFrame({'c': [121921117.714999988675115, 445, 22]})
df = np.round(df['c'], 8)
Result:
121921117.71499997
445.0
22.0
Expected:
121921117.71499999
445.0
22.0
很明显,第一个数字不是很四舍五入,你有什么 idea 吗?
编辑: 因为我在这里关注的是精度,而不是性能,所以我使用了python轮函数来解决这个问题:
df.applymap(round, ndigits=8)