numpy.testing.assert_array_equal
-
numpy.testing.assert_array_equal(x, y, err_msg='', verbose=True)[source] -
Вызывает исключение AssertionError, если два объекта array_like не равны.
При заданных двух объектах array_like проверяется, что форма равна и все элементы этих объектов равны. Исключение генерируется при несовпадении форм или несовпадающих значениях. В отличие от стандартного использования в numpy, NaN сравниваются как числа; исключение не генерируется, если оба объекта содержат NaN в одних и тех же позициях.
Рекомендуется соблюдать обычные предосторожности при проверке равенства с плавающей точкой.
Параметры: x : array_like
Проверяемый фактический объект.
y : array_like
Желаемый, ожидаемый объект.
err_msg : str, необязательно
Сообщение об ошибке, которое будет выведено в случае сбоя.
verbose : bool, необязательно
Если True, несовпадающие значения добавляются к сообщению об ошибке.
Возбуждает: AssertionError
Если фактический и желаемый объекты не равны.
См. также
-
assert_allclose - Сравнение двух объектов array_like на равенство с требуемой относительной и/или абсолютной точностью.
assert_array_almost_equal_nulp,assert_array_max_ulp,assert_equalПримеры
Первый assert не вызывает исключение:
>>> np.testing.assert_array_equal([1.0,2.33333,np.nan], ... [np.exp(0),2.33333, np.nan])
Assert завершается неудачно из-за числовой неточности с плавающей точкой:
>>> np.testing.assert_array_equal([1.0,np.pi,np.nan], ... [1, np.sqrt(np.pi)**2, np.nan]) ... <type 'exceptions.ValueError'>: AssertionError: Arrays are not equal (mismatch 50.0%) x: array([ 1. , 3.14159265, NaN]) y: array([ 1. , 3.14159265, NaN])
Вместо этого используйте
assert_allcloseили одну из функций nulp (количество значений с плавающей точкой):>>> np.testing.assert_allclose([1.0,np.pi,np.nan], ... [1, np.sqrt(np.pi)**2, np.nan], ... rtol=1e-10, atol=0)
-
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.testing.assert_array_equal.html