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