[Numpy-discussion] reverse cumsum?
Joshua Holbrook
josh.holbrook at gmail.com
Tue Jul 6 18:54:19 EDT 2010
On Tue, Jul 6, 2010 at 2:23 PM, Alan G Isaac <aisaac at american.edu> wrote:
> On 7/6/2010 3:37 PM, Joshua Holbrook wrote:
>> In [10]: np.array(list(reversed(np.arange(10).cumsum())))
>> Out[10]: array([45, 36, 28, 21, 15, 10, 6, 3, 1, 0])
>>
>
>
> That might appear to match the subject line
> but does not match the OP's example output,
> which was [45, 45, 44, 42, 39, 35, 30, 24, 17, 9].
>
> You are giving the equivalent of x.cumsum()[::-1],
> while the OP asked for the equivalent of x[::-1].cumsum()[::-1].
>
> fwiw,
> Alan Isaac
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
Oh snap. Good call--idk what I was thinking. Tired, I guess. :) In
that case, if you were going to use reversed() things would get a bit
nastier:
In [13]: np.array(list(reversed(np.array([9-i for i in xrange(10)]).cumsum())))
Out[13]: array([45, 45, 44, 42, 39, 35, 30, 24, 17, 9])
...which is gross enough that this approach is probably worth abandoning.
> I think Ken's suggestion may be the best so far...
I meant to say Alan's suggestion, i.e. x[::-1].cumsum()[::-1].
More information about the NumPy-Discussion
mailing list