[SciPy-Dev] Seeking help/ advice for applying functions

eat e.antero.tammi@gmail....
Fri Mar 5 17:56:37 CST 2010

```"""
Hi,

I would like to ask some advice for a (pretty generic kind of) problem as:

I do have some data which I'll like to put trough several (thousands of)
functions.

I have cooked up a simple demonstration of the problem, and two plausible
solutions for it. However I'm not happy with either 'gproc1' or 'gproc2'.

So, does someone have a more suitable scipy/ numpy solution for this
kind of problem?

Regards,
eat

OK, here is the some code as demonstration:
"""

import numpy as np

data= np.random.random((1, 2))
fncs= np.asarray([np.sin, np.cos, np.tan, np.sinh, np.cosh, np.tanh])
cs= np.asarray(np.random.randint(0, 2, (5, len(fncs))), dtype= bool)

def mid(x): return np.round(x, 3)
def gcntrl(m, cs):
for k in xrange(m):
yield cs[k, :]

def gproc1(gcntrl, fncs, data):
for c in gcntrl:
yield np.asarray([mid(f(data)) for f in fncs[c]])

def rr(data):
def f(g): return g(data)
return f
def gproc2(gcntrl, fncs, data):
for c in gcntrl:
yield mid(np.asarray(map(rr(data), fncs[c])))

def a(g, n):
def p(g, c, cs, f, d):
for r in g(c(cs.shape[0], cs), f, d):
print r.squeeze()
print n+ ' approach:'; p(g, gcntrl, cs, fncs, data); print

if __name__ == '__main__':
a(gproc1, 'firsth')
a(gproc2, 'second')
#??? a(gproc3, 'third')

```