def eclose(a, b, rtol=1e-05, atol=1e-08):
    return np.abs(a - b) <= atol + rtol * np.abs(b)
x = np.array([6.4, 6.500000001, 6.5, 6.51])
y = x.flat.copy()
y.sort()
ci = 0
U = np.empty((0,), dtype=y.dtype)
while ci < y.size:
    ii = eclose(y[ci], y)
mi = np.max(ii.nonzero())
U = np.concatenate((U, [y[mi]]))
ci = mi + 1
print(U)
Найти уникальные элементы массива с плавающей запятой в numpy (со сравнением с использованием дельта-значения)