Is it conceptually correct to sum a vector of booleans? From a mathematical point of view, I would argue it's not:
True + True != 2. But it's quite practical to do so still! Example using the vectorised
In : X = rand(10) In : large = X>0.6 In : large.dtype Out: dtype('bool') In : large.sum() Out: 7
I don't like it, but it's very practical. Is this a good practice?
Update: the aim is to count the number of true values in a vector.\
Update 2013-02-18: I just discovered the numpy function
count_nonzero does exactly what I need in a proper way. That means that as far as
Python is concerned, there is no need to use the "dirty" way.