[Numpy-discussion] reduce function of vectorize doesn't respect dtype?
Robert Kern
robert.kern at gmail.com
Wed Aug 12 11:45:56 EDT 2009
On Fri, Aug 7, 2009 at 13:54, T J<tjhnson at gmail.com> wrote:
> The reduce function of ufunc of a vectorized function doesn't seem to
> respect the dtype.
>
>>>> def a(x,y): return x+y
>>>> b = vectorize(a)
>>>> c = array([1,2])
>>>> b(c, c) # use once to populate b.ufunc
>>>> d = b.ufunc.reduce(c)
>>>> c.dtype, type(d)
> dtype('int32'), <type 'int'>
>
>>>> c = array([[1,2,3],[4,5,6]])
>>>> b.ufunc.reduce(c)
> array([5, 7, 9], dtype=object)
>
> My goal is to use the output of vectorize() as if it is actually a ufunc.
vectorize()d ufuncs are always object->object ufuncs because Python
functions take objects and return objects, not C ints or other C data
types.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the NumPy-Discussion
mailing list