On Thu, Dec 5, 2013 at 5:37 PM, Sebastian Berg <sebast...@sipsolutions.net> wrote: > Hey, > > there was a discussion that for numpy booleans math operators +,-,* (and > the unary -), while defined, are not very helpful. I have set up a quick > PR with start (needs some fixes inside numpy still): > > https://github.com/numpy/numpy/pull/4105 > > The idea is to deprecate these, since the binary operators |,^,| (and > the unary ~ even if it is weird) behave identical. This would not affect > sums of boolean arrays. For the moment I saw one "annoying" change in > numpy, and that is `abs(x - y)` being used for allclose and working > nicely currently.
I like mask = mask1 * mask2 That's what I learned working my way through scipy.stats.distributions a long time ago. But the main thing is that we use boolean often as 0,1 integer array in the actual calculations, and I only sometimes add the astype(int) x[:, None] * (y[:, None] == np.unique(y)) I always thought booleans *are* just 0, 1 integers, until last time there was the discussion we saw the weird + or - behavior. We also use rescaling to (-1, 1) in statsmodels y = mask * 2 - 1 (but maybe we convert to integer first) My guess is that I only use multiplication heavily, where the boolean is a dummy variable with 0 if male and 1 if female for example. Nothing serious but nice not to have to worry about casting with astype(int) first. x[:, None] * (y[:, None] == np.unique(y)).astype(int) (Is the bracket at the right spot ?) Josef > > - Sebastian > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion