Comparando matrices NumPy para que los NaN se comparen iguales

¿Existe una forma idiomática de comparar dos matrices NumPy que traten a los NaN como iguales entre sí (pero no igual a nada)otro que un NaN).

Por ejemplo, quiero que las dos matrices siguientes se comparen igual:

np.array([1.0, np.NAN, 2.0])
np.array([1.0, np.NAN, 2.0])

y las siguientes dos matrices para comparar desiguales:

np.array([1.0, np.NAN, 2.0])
np.array([1.0, 0.0, 2.0])

Estoy buscando un método que produzca un resultado booleano escalar.

Lo siguiente lo haría:

np.all((a == b) | (np.isnan(a) & np.isnan(b)))

pero es torpe y crea todas esas matrices intermedias.

¿Hay alguna forma más fácil de usar y que haga un mejor uso de la memoria?

PD Si ayuda, se sabe que las matrices tienen la misma forma y tipo.

Respuestas a la pregunta(4)

Su respuesta a la pregunta