numpy.testing.assert_array_less
- testing.assert_array_less(x, y, err_msg='', verbose=True, *, strict=False)[source]
-
Вызывает AssertionError, если два объекта array_like не упорядочены по меньшему значению.
Даны два объекта array_like
xиy, проверяет, что форма равна, и все элементыxстрого меньше соответствующих элементовy(но см. Примечания для специальной обработки скаляра). Исключение генерируется при несовпадении форм или значениях, которые не упорядочены должным образом. В отличие от стандартного использования в NumPy, ошибка не генерируется, если оба объекта имеют NaN в одних и тех же позициях.- Параметры:
-
- xarray_like
-
Проверяемый меньший объект.
- yarray_like
-
Объект сравнения, больший объект.
- err_msgстрока
-
Сообщение об ошибке, которое будет выведено в случае сбоя.
- 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%) 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])
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.testing.assert_array_less.html