[Numpy-discussion] indexed arrays ignoring duplicates

Damien Morton dmorton at bitfurnace.com
Wed Sep 29 21:03:40 EDT 2010


On Thu, Sep 30, 2010 at 3:28 AM, Robert Kern <robert.kern at gmail.com> wrote:
> On Wed, Sep 29, 2010 at 12:00, Pauli Virtanen <pav at 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".

bincount only works for gathering/accumulating scalars. Even the
'weights' parameter is limited to scalars.

I propose the name 'gather()' for the helper function that does this.



More information about the NumPy-Discussion mailing list