Spec-Zone.ru › NumPy 1.19

numpy.piecewise

numpy.piecewise(x, condlist, funclist, *args, **kw) [source]

Вычисление функции, заданной по частям.

При заданном наборе условий и соответствующих функций вычислить каждую функцию на входных данных, где её условие истинно.

Параметры
xndarray or scalar

Входящая область определения.

condlistlist of bool arrays or bool scalars

Каждый булевый массив соответствует функции в funclist. В местах, где condlist[i] истинно, funclist[i](x) используется как выходное значение.

Каждый булевый массив в condlist выбирает часть x, и, следовательно, должен иметь ту же форму, что и x.

Длина condlist должна соответствовать длине funclist. Если задана одна дополнительная функция, то есть если len(funclist) == len(condlist) + 1, тогда эта дополнительная функция является значением по умолчанию, используемым там, где все условия ложны.

funclistlist of callables, f(x,*args,**kw), or scalars

Каждая функция вычисляется над x там, где соответствующее условие истинно. Она должна принимать одномерный массив в качестве входных данных и возвращать одномерный массив или скалярное значение в качестве результата. Если вместо вызываемой функции указано скалярное значение, то предполагается постоянная функция (lambda x: scalar) .

argstuple, optional

Любые дополнительные аргументы, переданные в piecewise, передаются функциям при выполнении, т.е., если вызывается piecewise(..., ..., 1, 'a'), то каждая функция вызывается как f(x, 1, 'a').

kwdict, optional

Ключевые аргументы, используемые при вызове piecewise, передаются функциям при выполнении, т.е., если вызывается piecewise(..., ..., alpha=1), то каждая функция вызывается как f(x, alpha=1).

Возвращает
outndarray

Результат имеет ту же форму и тип, что и x, и получается путём вызова функций в funclist на соответствующих участках x, определённых булевыми массивами в condlist. Части, не охваченные ни одним условием, имеют значение по умолчанию 0.

См. также

choose, select, where

Примечания

Это аналогично choose или select, за исключением того, что функции вычисляются на элементах x которые удовлетворяют соответствующему условию из condlist.

Результат:

      |--
      |funclist[0](x[condlist[0]])
out = |funclist[1](x[condlist[1]])
      |...
      |funclist[n2](x[condlist[n2]])
      |--

Примеры

Определите функцию сигмы, которая равна -1 для x < 0 и +1 для x >= 0.

>>> x = np.linspace(-2.5, 2.5, 6)
>>> np.piecewise(x, [x < 0, x >= 0], [-1, 1])
array([-1., -1., -1.,  1.,  1.,  1.])

Определите абсолютное значение, которое равно -x для x <0 и x для x >= 0.

>>> np.piecewise(x, [x < 0, x >= 0], [lambda x: -x, lambda x: x])
array([2.5,  1.5,  0.5,  0.5,  1.5,  2.5])

Примените ту же функцию к скалярному значению.

>>> y = -2
>>> np.piecewise(y, [y < 0, y >= 0], [lambda x: -x, lambda x: x])
array(2)

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.piecewise.html

Spec-Zone.ru

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