Spec-Zone.ru › NumPy 2.0

numpy.testing.assert_equal

testing.assert_equal(actual, desired, err_msg='', verbose=True, *, strict=False)[source]

Вызывает AssertionError, если два объекта не равны.

Даны два объекта (скаляры, списки, кортежи, словари или массивы NumPy), проверяет, что все элементы этих объектов равны. Исключение возникает при первом несовпадении значений.

Эта функция обрабатывает сравнения NaN так, как будто NaN — это «обычное» число. То есть, AssertionError не генерируется, если в обоих объектах в одинаковых позициях находятся NaN. Это отличается от стандарта IEEE для NaN, который гласит, что сравнение NaN с любым другим значением должно возвращать False.

Параметры:
actualarray_like

Объект для проверки.

desiredarray_like

Ожидаемый объект.

err_msgstr, необязательно

Сообщение об ошибке, которое будет выведено в случае неудачи.

verbosebool, необязательно

Если True, несовпадающие значения добавляются в сообщение об ошибке.

strictbool, необязательно

Если True и один из actual и desired аргументов является массивом, генерирует AssertionError, когда форма или тип данных аргументов не совпадают. Если ни один из аргументов не является массивом, этот параметр не влияет.

Новая версия в версии 2.0.0.

Возбуждает:
AssertionError

Если actual и desired не равны.

См. также

assert_allclose
assert_array_almost_equal_nulp
assert_array_max_ulp

Замечания

По умолчанию, когда один из actual и desired является скаляром, а другой — массивом, функция проверяет, что каждый элемент массива равен скаляру. Это поведение можно отключить, установив strict==True.

Примеры

>>> np.testing.assert_equal([4, 5], [4, 6])
Traceback (most recent call last):
    ...
AssertionError:
Items are not equal:
item=1
 ACTUAL: 5
 DESIRED: 6

Следующее сравнение не вызывает исключения. В входных данных присутствуют NaN, но они находятся в одинаковых позициях.

>>> np.testing.assert_equal(np.array([1.0, 2.0, np.nan]), [1, 2, np.nan])

Как указано в разделе «Замечания», assert_equal имеет специальную обработку для скаляров, когда один из аргументов является массивом. Здесь тест проверяет, что каждое значение в x равно 3:

>>> x = np.full((2, 5), fill_value=3)
>>> np.testing.assert_equal(x, 3)

Используйте strict, чтобы вызвать AssertionError при сравнении скаляра с массивом другой формы:

>>> np.testing.assert_equal(x, 3, strict=True)
Traceback (most recent call last):
    ...
AssertionError:
Arrays are not equal

(shapes (2, 5), () mismatch)
 ACTUAL: array([[3, 3, 3, 3, 3],
       [3, 3, 3, 3, 3]])
 DESIRED: array(3)

Параметр strict также гарантирует соответствие типов данных массивов:

>>> x = np.array([2, 2, 2])
>>> y = np.array([2., 2., 2.], dtype=np.float32)
>>> np.testing.assert_equal(x, y, strict=True)
Traceback (most recent call last):
    ...
AssertionError:
Arrays are not equal

(dtypes int64, float32 mismatch)
 ACTUAL: array([2, 2, 2])
 DESIRED: array([2., 2., 2.], dtype=float32)

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.testing.assert_equal.html

Spec-Zone.ru

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