On Thu, Dec 5, 2013 at 10:33 PM, <josef.p...@gmail.com> wrote: > 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 ?)
what about np.dot, np.dot(mask, x) which is the same as (mask * x).sum(0) ? Josef > > 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