Значения с плавающей точкой могут не совпадать из-за ошибок округления. Существует функция numpy.isclose
, которую можно использовать для проверки эквивалентности в пределах определенного допуска.
import numpy as np
np.float64(0) == 0 # for me
>>> True
# however a small, almost zero, number gives False
np.float64(1e-19) == 0
>>> False
np.isclose(np.float64(0), 0)
>>> True
np.isclose(np.float64(1e-19), 0)
>>> True