Spec-Zone.ru › NumPy 1.14

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.     ])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.testing.assert_array_almost_equal.html

Spec-Zone.ru

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