Vous pouvez également utiliser numpy.testing.assert_equal
o numpy.testing.assert_array_equal
avec un try/except
:
In : import numpy as np
In : def nan_equal(a,b):
...: try:
...: np.testing.assert_equal(a,b)
...: except AssertionError:
...: return False
...: return True
In : a=np.array([1, 2, np.NaN])
In : b=np.array([1, 2, np.NaN])
In : nan_equal(a,b)
Out: True
In : a=np.array([1, 2, np.NaN])
In : b=np.array([3, 2, np.NaN])
In : nan_equal(a,b)
Out: False
Editar
Puisque vous l'utilisez pour l'unittesting, il est inutile d'utiliser l'option assert
(au lieu de l'envelopper pour obtenir True/False
) pourrait être plus naturel.