我正在处理 Pandas read_csv 函数中的一些浮点问题。在我的调查中,我发现了这一点:
In [15]: a = 5.9975
In [16]: a
Out[16]: 5.9975
In [17]: np.float64(a)
Out[17]: 5.9974999999999996
为什么是内置的float
Python 和np.float64
Python 中的类型给出不同的结果?我以为他们都是 C++ 双打?
>>> numpy.float64(5.9975).hex()
'0x1.7fd70a3d70a3dp+2'
>>> (5.9975).hex()
'0x1.7fd70a3d70a3dp+2'
它们是相同的数字。不同的是他们的代表; Python 原生类型使用“理智”的表示,而 NumPy 类型使用准确的表示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)