Сравнение массивов NumPy так, чтобы NaN сравнивались равными
Существует ли идиоматический способ сравнения двух массивов NumPy, которые бы рассматривали NaN как равные друг другу (но не равные чему-либоother чем 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)))
но он неуклюжий и создает все эти промежуточные массивы.
Есть ли способ, который облегчает глаза и лучше использует память?
Постскриптум Если это помогает, известно, что массивы имеют одинаковую форму и тип d.