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: - 
x : ndarray or scalar
- 
The input domain. 
- 
condlist : list 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.
- 
funclist : list 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.
- 
args : tuple, 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').
- 
kw : dict, 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: - 
out : ndarray
- 
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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
    https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.piecewise.html