[Numpy-discussion] element-wise array segmental function operation?
Nick Papior Andersen
nickpapior at gmail.com
Mon Mar 23 02:49:43 EDT 2015
You can do:
vfun = np.vectorize(fun)
vfun([20,50,75])
that should work, note the abundant options available for denoting the
vectorized arrays in "vectorize".
Otherwise you could do nested where calls.
2015-03-23 7:46 GMT+01:00 oyster <lepto.python at gmail.com>:
> 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)])
>
> thanks in advance
>
> Lee
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
--
Kind regards Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20150323/f63f3d6b/attachment.html>
More information about the NumPy-Discussion
mailing list