[Numpy-discussion] sum and prod

Warren Weckesser warren.weckesser@enthought....
Sat Sep 8 17:10:16 CDT 2012


On Sat, Sep 8, 2012 at 4:56 PM, nicky van foreest <vanforeest@gmail.com>wrote:

> Hi,
>
> I ran the following code:
>
>         args = np.array([4,8])
>         print np.sum( (arg > 0) for arg in args)
>         print np.sum([(arg > 0) for arg in args])
>         print np.prod( (arg > 0) for arg in args)
>         print np.prod([(arg > 0) for arg in args])
>
> with this result:
>
> 2
> 1
>


I get 2 here, not 1 (numpy version 1.6.1).



> <generator object <genexpr> at 0x1c70410>
> 1
>
> Is the difference between prod and sum intentional? I would expect
> that  numpy.prod would also work on a generator, just like numpy.sum.
>


Whatever the correct result may be, I would expect them to have the same
behavior with respect to a generator argument.



> BTW: the last line does what I need: the product over the truth values
> of all elements of args. Is there perhaps a nicer (conciser) way to
> achieve this?  Thanks.
>


How about:

In [15]: np.all(args > 0)
Out[15]: True


 Warren




> Nicky
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20120908/f902062e/attachment.html 


More information about the NumPy-Discussion mailing list