首页 > 解决方案 > 管理浮点精度 - 最佳实践?

问题描述

在 Python / Pandas 中管理浮点精度的最佳实践是什么?

经典的例子是

df = pd.DataFrame({'a': [3], 'b': [0.1], 'c': [0.3]})
df['a'] * df['b'] - df['c']

产量

0    5.55111512e-17
dtype: float64

但我还没有找到有关如何管理此类问题的建议。

目前,我的解决方法是将结果四舍五入到小数点后 10 位,但这感觉很笨拙。

我可以使用更好的 dtype 吗?还是我应该更加注意模型中保存的每一列浮点数的精度?


所以问题是:有没有办法执行计算df['a'] * df['b'] - df['c']以使其产生0

标签: pythonpandas

解决方案


推荐阅读