[Numpy-discussion] Incrementing with advanced indexing: why don't repeated indexes repeatedly increment?

John Salvatier jsalvati at u.washington.edu
Wed Jun 6 10:45:58 EDT 2012


Thank you for the suggestion, but it looks like that has the same behavior
too:

In [43]: x = zeros(5)

In [44]: idx = array([1,1,1,3,4])

In [45]: put(x,idx, [2,4,8,10,30])

In [46]: x
Out[46]: array([  0.,   8.,   0.,  10.,  30.])


On Wed, Jun 6, 2012 at 6:07 AM, Frédéric Bastien <nouiz at nouiz.org> wrote:

> Hi,
>
> I get across the numpy.put[1] function. I'm not sure, but maybe it do
> what you want. My memory are fuzy about this and they don't tell about
> this in the doc of this function.
>
> Fred
>
>
> [1] http://docs.scipy.org/doc/numpy/reference/generated/numpy.put.html
>
> On Wed, Jun 6, 2012 at 4:48 AM, John Salvatier
> <jsalvati at u.washington.edu> wrote:
> > Hello,
> >
> > I've noticed that If you try to increment elements of an array with
> advanced
> > indexing, repeated indexes don't get repeatedly incremented. For example:
> >
> > In [30]: x = zeros(5)
> >
> > In [31]: idx = array([1,1,1,3,4])
> >
> > In [32]: x[idx] += [2,4,8,10,30]
> >
> > In [33]: x
> > Out[33]: array([  0.,   8.,   0.,  10.,  30.])
> >
> > I would intuitively expect the output to be array([0,14, 0,10,30]) since
> > index 1 is incremented by 2+4+8=14, but instead it seems to only
> increment
> > by 8. What is numpy actually doing here?
> >
> > The authors of Theano noticed this behavior a while ago so they python
> loop
> > through the values in idx (this kind of calculation is necessary for
> > calculating gradients), but this is a bit slow for my purposes, so I'd
> like
> > to figure out how to get the behavior I expected, but faster.
> >
> > I'm also not sure how to navigate the numpy codebase, where would I look
> for
> > the code responsible for this behavior?
> >
> > _______________________________________________
> > NumPy-Discussion mailing list
> > NumPy-Discussion at scipy.org
> > http://mail.scipy.org/mailman/listinfo/numpy-discussion
> >
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120606/d718810d/attachment.html>


More information about the NumPy-Discussion mailing list