Я думаю, что это ожидаемое поведение.
Если вы хотите использовать условие, если расстояние равно нулю, рассмотрите возможность использования numpy.isclose . Например,
import numpy as np
a = 2.34e-16
b = 1.7e-14 # both tiny values, almost zero
print(a==b) # prints False
print(np.isclose(a,b)) # prints True
Вы можете установить, насколько близко вы хотите, чтобы значение было, установив другие параметры функции. Подробнее см. документацию .
Кроме того, вы также можете использовать встроенную функцию Python math.isclose . См. документация .
Пример,
import math
a = 2.34e-16
b = 1.7e-14 # both tiny values, almost zero
print(math.isclose(a,b, abs_tol=1e-10)) # True