not float64 python numpy floating-point

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.