On Wed, Sep 8, 2010 at 10:53 AM, Neal Becker <[email protected]> wrote: > [email protected] wrote: > >> On Wed, Sep 8, 2010 at 7:44 AM, Neal Becker <[email protected]> wrote: >>> If I try to use vectorize on the result of functools.partial, I seem to >>> get: >>> >>> ValueError: failed to determine the number of arguments for >>> <functools.partial object at 0x4e396d8> >>> >>> Anything I can do about it? >> >> Set .nin (attribute of vectorized function, I think) directly with >> number of arguments (int) >> >> Josef >> >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> [email protected] >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> > Not sure what you mean. Here is a demo of 2 problems of interop of numpy > and functools.partial. Tried both vectorize and frompyfunc. vectorize > gives: > ValueError: failed to determine the number of arguments for > <functools.partial object at 0x230b1b0> > > frompyfunc gives: > TypeError: H() got multiple values for keyword argument 'iir' > > Note that doc for frompyfunc says: > "Takes an arbitrary Python function..." > > import numpy as np > > class iir (object): > def H (z): > return 1 > > def H (iir, f): > z = complex (cos (2*pi*f/fs), sin (2*pi*f/fs)) > return iir.H (z) > > f = np.linspace (0, 10e6, 1000) > #bug1 > from functools import partial > the_iir = iir() > p = partial (H, iir=the_iir) > resp_pll = np.vectorize (p)(f) > #bug2 > resp_pll = np.frompyfunc (p, 1, 1)(f)
looks like a limitation of vectorize (fails in constructor), and nin cannot be included in the constructor this should be a bug report or enhancement ticket a work around, after fixing other problems in your code example: p = partial(H, iir=the_iir) fun = np.vectorize(lambda x: p(x)) >>> fun.nin 1 >>> fun(5) array(1) >>> fun(f)[:10] array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) Josef > > > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
