On this page
numpy.piecewise
- numpy.piecewise(x, condlist, funclist, *args, **kw)[source]
- 
    Evaluate a piecewise-defined function. Given a set of conditions and corresponding functions, evaluate each function on the input data wherever its condition is true. - Parameters
- 
      - xndarray or scalar
- 
        The input domain. 
- condlistlist of bool arrays or bool scalars
- 
        Each boolean array corresponds to a function in funclist. Wherevercondlist[i]is True,funclist[i](x)is used as the output value.Each boolean array in condlistselects a piece ofx, and should therefore be of the same shape asx.The length of condlistmust correspond to that offunclist. If one extra function is given, i.e. iflen(funclist) == len(condlist) + 1, then that extra function is the default value, used wherever all conditions are false.
- funclistlist of callables, f(x,*args,**kw), or scalars
- 
        Each function is evaluated over xwherever its corresponding condition is True. It should take a 1d array as input and give an 1d array or a scalar value as output. If, instead of a callable, a scalar is provided then a constant function (lambda x: scalar) is assumed.
- argstuple, optional
- 
        Any further arguments given to piecewiseare passed to the functions upon execution, i.e., if calledpiecewise(..., ..., 1, 'a'), then each function is called asf(x, 1, 'a').
- kwdict, optional
- 
        Keyword arguments used in calling piecewiseare passed to the functions upon execution, i.e., if calledpiecewise(..., ..., alpha=1), then each function is called asf(x, alpha=1).
 
- Returns
- 
      - outndarray
- 
        The output is the same shape and type as x and is found by calling the functions in funcliston the appropriate portions ofx, as defined by the boolean arrays incondlist. Portions not covered by any condition have a default value of 0.
 
 NotesThis is similar to choose or select, except that functions are evaluated on elements of xthat satisfy the corresponding condition fromcondlist.The result is: |-- |funclist[0](x[condlist[0]]) out = |funclist[1](x[condlist[1]]) |... |funclist[n2](x[condlist[n2]]) |--ExamplesDefine the sigma function, which is -1 for x < 0and +1 forx >= 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.])Define the absolute value, which is -xforx <0andxforx >= 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])Apply the same function to a scalar value. >>> 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