Я пытаюсь использовать функцию isin()
из библиотеки Numpy, чтобы найти элементы, которые являются общими в двух массивах.
Кажется довольно простым, но один из этих массивов создан с использованием linspace()
, а другой я просто ввел жесткие значения.
Но, похоже, isin()
использует ==
дляего сравнения, и поэтому в результате, возвращаемом методом, отсутствует одно из чисел.
Есть ли способ, с помощью которого я могу обойти это, либо определив свои массивы по-другому, либо используя метод, отличный от isin()
?
thetas = np.array(np.linspace(.25, .50, 51))
known_thetas = [.3, .35, .39, .41, .45]
unknown_thetas = thetas[np.isin(thetas, known_thetas, assume_unique = True, invert = True)]
Распечатав три массива, я обнаружил, что.41
все еще находится в третьем массиве, потому что при печати их один за другим мое значение в первом массиве на самом деле равно 0.41000000000000003
, что означает ==
сравнение возвращает False
. Каков наилучший способ обойти это?