Spec-Zone.ru › NumPy 1.13

numpy.testing.assert_array_almost_equal

numpy.testing.assert_array_almost_equal(x, y, decimal=6, err_msg='', verbose=True) [source]

Вызывает ошибку AssertionError, если два объекта не равны с желаемой точностью.

Примечание

Рекомендуется использовать одну из функций assert_allclose, assert_array_almost_equal_nulp или assert_array_max_ulp вместо этой функции для более последовательного сравнения чисел с плавающей запятой.

Тест проверяет одинаковые формы и то, что элементы actual и desired удовлетворяют указанным условиям.

abs(desired-actual) < 1.5 * 10**(-decimal)

Это более слабый тест, чем первоначально документировано, но согласуется с тем, что фактическая реализация выполняла до округления. Возникает исключение при несовпадении форм или конфликтующих значениях. В отличие от стандартного использования в numpy, NaN сравниваются как числа, и исключение не возникает, если оба объекта имеют NaN в одних и тех же позициях.

Параметры:

x : array_like

Проверяемый фактический объект.

y : array_like

Желаемый, ожидаемый объект.

decimal : int, необязательно

Желаемая точность, по умолчанию 6.

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_almost_equal([1.0,2.333,np.nan],
                                         [1.0,2.333,np.nan])
>>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
...                                      [1.0,2.33339,np.nan], decimal=5)
...
<type 'exceptions.AssertionError'>:
AssertionError:
Arrays are not almost equal

(mismatch 50.0%)
 x: array([ 1.     ,  2.33333,      NaN])
 y: array([ 1.     ,  2.33339,      NaN])
>>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
...                                      [1.0,2.33333, 5], decimal=5)
<type 'exceptions.ValueError'>:
ValueError:
Arrays are not almost equal
 x: array([ 1.     ,  2.33333,      NaN])
 y: array([ 1.     ,  2.33333,  5.     ])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.testing.assert_array_almost_equal.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API