numpy.testing.assert_array_less#

тестирование.assert_array_less(x, y, err_msg='', verbose=True, *, strict=False)[источник]#

Вызывает AssertionError, если два объекта типа array_like не упорядочены по отношению «меньше».

Даны два объекта array_like x и y, проверьте, что форма равна и все элементы x строго меньше соответствующих элементов y (но см. Примечания для особой обработки скаляра). Исключение вызывается при несоответствии формы или значениях, которые не упорядочены правильно. В отличие от стандартного использования в NumPy, утверждение не вызывается, если оба объекта имеют NaN в одинаковых позициях.

Параметры:
xarray_like

Меньший объект для проверки.

yarray_like

Больший объект для сравнения.

err_msgstring

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

verbosebool

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

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

Если True, вызывает AssertionError, когда либо форма, либо тип данных объектов array_like не совпадают. Специальная обработка скаляров, упомянутая в разделе Примечаний, отключена.

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

Вызывает:
AssertionError

Если x не строго меньше y, поэлементно.

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

assert_array_equal

проверяет объекты на равенство

assert_array_almost_equal

проверить объекты на равенство с точностью до точности

Примечания

Когда один из x и y является скаляром, а другой — array_like, функция выполняет сравнение, как если бы скаляр был транслирован к форме массива. Это поведение можно отключить с помощью strict параметр.

Примеры

Следующее утверждение проходит, потому что каждый конечный элемент x строго меньше соответствующего элемента y, и NaN находятся в соответствующих позициях.

>>> x = [1.0, 1.0, np.nan]
>>> y = [1.1, 2.0, np.nan]
>>> np.testing.assert_array_less(x, y)

Следующее утверждение не выполняется, потому что нулевой элемент x не является строго меньше нулевого элемента y.

>>> y[0] = 1
>>> np.testing.assert_array_less(x, y)
Traceback (most recent call last):
    ...
AssertionError:
Arrays are not strictly ordered `x < y`

Mismatched elements: 1 / 3 (33.3%)
Mismatch at index:
 [0]: 1.0 (x), 1.0 (y)
Max absolute difference among violations: 0.
Max relative difference among violations: 0.
 x: array([ 1.,  1., nan])
 y: array([ 1.,  2., nan])

Здесь, y является скаляром, поэтому каждый элемент x сравнивается с y, и утверждение проходит.

>>> x = [1.0, 4.0]
>>> y = 5.0
>>> np.testing.assert_array_less(x, y)

Однако, с strict=True, утверждение завершится неудачей, потому что формы не совпадают.

>>> np.testing.assert_array_less(x, y, strict=True)
Traceback (most recent call last):
    ...
AssertionError:
Arrays are not strictly ordered `x < y`

(shapes (2,), () mismatch)
 x: array([1., 4.])
 y: array(5.)

С strict=True, утверждение также не выполняется, если типы данных двух массивов не совпадают.

>>> y = [5, 5]
>>> np.testing.assert_array_less(x, y, strict=True)
Traceback (most recent call last):
    ...
AssertionError:
Arrays are not strictly ordered `x < y`

(dtypes float64, int64 mismatch)
 x: array([1., 4.])
 y: array([5, 5])