Сравнение массивов 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.

Ответы на вопрос(4)

Ваш ответ на вопрос