我正在处理熊猫read_csv函数中的一些浮点问题。在我的调查中,我发现了这个:
In [15]: a = 5.9975
In [16]: a
Out[16]: 5.9975
In [17]: np.float64(a)
Out[17]: 5.9974999999999996为什么Python的内置float和Python的np.float64类型给出了不同的结果?我以为他们都是C++替身?
发布于 2014-11-24 13:55:05
>>> numpy.float64(5.9975).hex()
'0x1.7fd70a3d70a3dp+2'
>>> (5.9975).hex()
'0x1.7fd70a3d70a3dp+2'它们是相同的数字。不同之处在于它们的表示;Python原生类型使用"sane“表示,而NumPy类型使用精确的表示。
https://stackoverflow.com/questions/27098529
复制相似问题