[Numpy-discussion] element-wise array segmental function operation?

Julian Taylor jtaylor.debian at googlemail.com
Mon Mar 23 04:24:52 EDT 2015


On 23.03.2015 07:46, oyster wrote:
> Hi, all
> I want to know wether there is a terse way to apply a function to
> every array element, where the function behaves according to the
> element value.
> for example
> [code]
> def fun(v):
>     if 0<=v<60:
>         return f1(v)    #where f1 is a function
>     elif 60<=v<70:
>         return f2(v)
>     elif 70<=v<80:
>         return f3(v)
>     ...and so on...
> [/code]
> 
> for 'a=numpy.array([20,50,75])', I hope to get numpy.array([f1(20),
> f1(50), f3(75)])
> 

piecewise should be what you are looking for:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.piecewise.html





More information about the NumPy-Discussion mailing list