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