Существует ли идиоматический способ сравнения двух массивов NumPy, которые будут рассматривать NaN как равные друг другу (но не равные чему-либо, кроме NaN).
Например, я хочу сравнить следующие два массива:
np.array([1.0, np.NAN, 2.0])
np.array([1.0, np.NAN, 2.0])
и следующие два массива для сравнения неравных:
np.array([1.0, np.NAN, 2.0])
np.array([1.0, 0.0, 2.0])
Я ищу метод, который создавал бы скалярный логический результат.
Следующее сделало бы это:
np.all((a == b) | (np.isnan(a) & np.isnan(b)))
но он неуклюже и создает все эти промежуточные массивы.
Есть ли способ, который проще на глаза и лучше использовать память?
P.S. Если это помогает, известно, что массивы имеют одинаковую форму и тип dtype.