在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
?