这是我正在使用的系列,
https://paste.ubuntu.com/p/Wd3czXj9Fc/
>>> sum(series)
185048.7799999991
>>> series.sum()
185048.78000000003
为什么这些价值观之间存在差异?虽然这两个值都有浮点误差,但这不应该是造成这种差异的原因。
为什么这些值之间存在差异?虽然这两个值都有浮点误差,但这不应该是造成这种差异的原因。
正如您的问题中所暗示的,这是由于精度上的浮点。您的十进制数是近似的,因此在sum()
中使用Python构建与使用pandas.Series.sum()
(实际上调用numpy.sum()
.
内置的sum()
不用于精确的浮点运算"要添加具有扩展精度的浮点值,请参见math.fsum()
"文档