Вы можете использовать np.isclose () и установить параметры в соответствии с вашими потребностями, чтобы преодолеть сложность работы с плавающей точкой.
>>> a
array([ 0., 1., 2., 4., 4., 5., 6., 7., 8., 9.])
>>> a[3]
4.0000000000001004
>>> a[4]
4.0
>>> np.isclose(a,[4.0], .00000001, .00000001)
array([False, False, False, True, True, False, False, False, False, False], dtype=bool)
>>> np.isclose(a,[4.0])
array([False, False, False, True, True, False, False, False, False, False], dtype=bool)
>>> a[np.isclose(a,[4.0], .00000001, .00000001)]=np.nan
>>> a
array([ 0., 1., 2., nan, nan, 5., 6., 7., 8., 9.])