I have a numpy array like this:
x=np.array([0,1,2,3,4])
and want to create an array where the value in index 0 is in index 1, index 1 is in index 2, etc.
The output I want is:
y=np.array([0,0,1,2,3]).
I'm guessing there's an easy way to do this without iterating through the full array. How can I do this in a numPythonic way?
You can use
y = numpy.roll(x, 1)
y[0] = 0
or
y = numpy.r_[0, x[:-1]]
If you wanted to do this in-place, you could also do:
x[1:] = x[:-1]
x[0] = 0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With