not - Numpy float64 vs Python float
float64 python (1)
Estoy luchando contra algunos problemas de coma flotante en la función pandas read_csv. En mi investigación, encontré esto:
In [15]: a = 5.9975
In [16]: a
Out[16]: 5.9975
In [17]: np.float64(a)
Out[17]: 5.9974999999999996
¿Por qué el float
np.float64
de Python y el tipo np.float64
de Python ofrecen resultados diferentes? Pensé que ambos eran dobles de C ++.
>>> numpy.float64(5.9975).hex()
''0x1.7fd70a3d70a3dp+2''
>>> (5.9975).hex()
''0x1.7fd70a3d70a3dp+2''
Ellos son el mismo número. Lo que difiere es su representación; el tipo nativo de Python usa una representación "sana", y el tipo NumPy usa una representación precisa.