On Wed, Sep 29, 2010 at 12:00, Pauli Virtanen <pav@iki.fi> wrote:
Wed, 29 Sep 2010 11:15:08 -0500, Robert Kern wrote: [clip: inplace addition with duplicates]
Use numpy.bincount() instead.
It might be worthwhile to add a separate helper function for this purpose. Bincount makes a copy that could be avoided, and it is difficult to find if you don't know about this trick.
I'm fairly certain that most of the arrays used are fairly small, as such things are reckoned. I'm not sure that in-place modification would win us much. And I'm not sure what other name for the function would make it easier to find. AFAICT, using bincount() this way is not really a "trick"; it's just the right way to do exactly this job. If anything, "x.fill(0);x[i] += 1" is the "trick". -- 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