[Numpy-discussion] Simple problem. Is it possible without a loop?
"V. Armando Solé"
sole at esrf.fr
Wed Jun 9 04:00:50 EDT 2010
Well, this seems to be quite close to what I need
y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int)
i1 = numpy.nonzero(y[1:] > y[:-1])
y = numpy.take(x, i1)
Sorry for the time taken!
Best regards,
Armando
V. Armando Solé wrote:
> Hello,
>
> I am trying to solve a simple problem that becomes complex if I try to
> avoid looping.
>
> Let's say I have a 1D array, x, where x[i] <= x[i+1]
>
> Given a certain value delta, I would like to get a subset of x, named y,
> where (y[i+1] - y[i]) >= delta
>
> In a non-optimized and trivial way, the operation I would like to do is:
>
> y=[x[0]]
> for value in x:
> if (y[-1] -value) < delta:
> y.append(value)
> y=numpy.array(y)
>
> Any hint?
>
> Best regards,
>
> Armando
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
More information about the NumPy-Discussion
mailing list