Spec-Zone.ru › NumPy 2.0

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API