原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.piecewise.html
校对:(虚位以待)
numpy.
piecewise
(x, condlist, funclist, *args, **kw)[source]评估分段定义的函数。
给定一组条件和相应的函数,对条件为真的每个函数求值。
参数: | x:ndarray
condlist:bool数组的列表
funclist:可调用项列表,f(x,* args,** kw)或标量
args:tuple,可选
kw:dict,可选
|
---|---|
返回: | out:ndarray
|
笔记
这类似于选择或选择,除了对x的元素评估满足condlist的相应条件的函数。
其结果是:
|--
|funclist[0](x[condlist[0]])
out = |funclist[1](x[condlist[1]])
|...
|funclist[n2](x[condlist[n2]])
|--
例子
Define the sigma function, which is -1 for x < 0
and +1 for 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.])
Define the absolute value, which is -x
for x <0
and x
for 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])