Из того, что я знаю, элементы в массиве numpy пакета можно различить с помощью функции np.isin
.
Например:
In:
A = np.array([1,2,3,4,5])
B = np.array([6,7,8,9,1])
C = np.array([6,7,1,2,4])
~np.isin(A , [B, C])
Out:
array([ False, False, True, False, True])
В этом случае, так как 3 и 5 donне существует ни в одном из этих сравниваемых массивов, я понимаю, что вывод будет выполнен, как показано выше.
Но если я сделаю это немного по-другому, как это:
In:
A = np.array([1,2,3,4,5])
B = np.array([6,7,8,9,1,3])
C = np.array([6,7,1,2,4])
~np.isin(A , [B, C])
Out:
array([ True, True, True, True, True])
Вместо того, чтоЯ ожидал:
array([False, False, False, False, True])
После теста я знал, что размещение np.nan в массиве C
будет работать нормально.
Но есть ли эффективный способ проверить, если элементыв массиве A
нет в других массивах, чьи формы отличаются?