Функция testing.assert_array_less
Функция testing.assert_array_less проверяет,
что все элементы первого массива строго меньше
соответствующих элементов второго массива.
Первый параметр x - массив, который сравнивается
как меньший, второй параметр y - массив,
с которым происходит сравнение.
Функция также принимает необязательные параметры:
err_msg - пользовательское сообщение об ошибке,
verbose - управление детализацией вывода,
header - заголовок сообщения об ошибке.
Синтаксис
np.testing.assert_array_less(x, y, err_msg='', verbose=True, header='')
Пример
Давайте проверим, что все элементы одного массива строго меньше элементов другого массива:
import numpy as np
x = np.array([1, 2, 3, 4])
y = np.array([2, 3, 4, 5])
np.testing.assert_array_less(x, y)
print("Массивы прошли проверку")
Результат выполнения кода:
"Массивы прошли проверку"
Пример
Проверим, что будет, если условие строгого неравенства не выполняется - все элементы первого массива должны быть меньше, но один из них равен соответствующему элементу второго массива:
import numpy as np
x = np.array([1, 2, 3, 4])
y = np.array([2, 3, 4, 4])
try:
np.testing.assert_array_less(x, y)
except AssertionError as e:
print(e)
Результат выполнения кода:
"Arrays are not strictly less
Mismatched elements: 1 / 4 (25%)
Max absolute difference: 0
Max relative difference: 0.
x: array([1, 2, 3, 4])
y: array([2, 3, 4, 4])"
Пример
Используем пользовательское сообщение
об ошибке с помощью параметра err_msg:
import numpy as np
x = np.array([5, 6, 7])
y = np.array([1, 2, 3])
try:
np.testing.assert_array_less(x, y, err_msg="Первый массив должен быть меньше второго")
except AssertionError as e:
print(e)
Результат выполнения кода:
"Первый массив должен быть меньше второго
Arrays are not strictly less
Mismatched elements: 3 / 3 (100%)
Max absolute difference: 4
Max relative difference: 0.8
x: array([5, 6, 7])
y: array([1, 2, 3])"
Пример
Работа функции с многомерными массивами. Сравнение происходит поэлементно:
import numpy as np
x = np.array([[1, 2], [3, 4]])
y = np.array([[2, 3], [4, 5]])
np.testing.assert_array_less(x, y)
print("Двумерные массивы прошли проверку")
Результат выполнения кода:
"Двумерные массивы прошли проверку"
Смотрите также
-
функцию
assert_array_equal,
которая проверяет точное равенство массивов -
функцию
assert_allclose,
которая проверяет примерное равенство массивов -
функцию
assert_array_almost_equal,
которая проверяет равенство массивов с заданной точностью -
функцию
assert_equal,
которая проверяет равенство любых объектов