РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
325 of 541 menu

Функция assert_array_almost_equal

Функция assert_array_almost_equal из модуля numpy.testing предназначена для проверки приблизительного равенства двух массивов. Она часто используется в тестах и позволяет гибко настраивать допустимую погрешность сравнения.

Синтаксис

np.testing.assert_array_almost_equal(x, y, decimal=6, err_msg='', verbose=True)

Основные параметры функции:

  • x - первый массив для сравнения
  • y - второй массив для сравнения
  • decimal - количество знаков после запятой, до которого сравниваются значения
  • err_msg - сообщение об ошибке, если проверка не пройдена
  • verbose - если True, то выводит подробную информацию о различиях

Пример

Сравним два массива, которые почти равны:

import numpy as np arr1 = np.array([1.0, 2.0, 3.0]) arr2 = np.array([1.0000001, 2.0000001, 3.0000001]) np.testing.assert_array_almost_equal(arr1, arr2, decimal=6) print("Arrays are approximately equal")

Результат выполнения кода:

"Arrays are approximately equal"

Пример

Попробуем сравнить массивы с различием больше допустимого:

import numpy as np arr1 = np.array([1.0, 2.0, 3.0]) arr2 = np.array([1.01, 2.01, 3.01]) np.testing.assert_array_almost_equal(arr1, arr2, decimal=2)

Результат выполнения кода:

"AssertionError: Arrays are not almost equal to 2 decimals"

Пример

Сравнение двумерных массивов с разной точностью:

import numpy as np arr1 = np.array([[1.234, 5.678], [9.012, 3.456]]) arr2 = np.array([[1.2345, 5.6785], [9.0125, 3.4565]]) np.testing.assert_array_almost_equal(arr1, arr2, decimal=3) print("2D arrays are approximately equal")

Результат выполнения кода:

"2D arrays are approximately equal"

Пример

Использование с пользовательским сообщением об ошибке:

import numpy as np arr1 = np.array([1.0, 2.0]) arr2 = np.array([1.5, 2.5]) try: np.testing.assert_array_almost_equal( arr1, arr2, decimal=2, err_msg="Массивы не совпадают с точностью 2 знака" ) except AssertionError as e: print("Error:", e)

Результат выполнения кода:

"Error: Массивы не совпадают с точностью 2 знака"

Смотрите также

  • функцию assert_array_equal,
    которая проверяет точное равенство массивов
  • функцию assert_allclose,
    которая проверяет равенство с относительной погрешностью
  • функцию assert_array_less,
    которая проверяет, что все элементы меньше заданных
  • функцию assert_equal,
    которая сравнивает любые объекты на равенство
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить