4

What is a pythonic way to access the shifted, either right or left, of a numpy array? A clear example:

a = np.array([1.0, 2.0, 3.0, 4.0])

Is there away to access:

a_shifted_1_left = np.array([2.0, 3.0, 4.0, 1.0])

from the numpy library?

1 Answer 1

3

You are looking for np.roll -

np.roll(a,-1) # shifted left
np.roll(a,1) # shifted right

Sample run -

In [28]: a
Out[28]: array([ 1.,  2.,  3.,  4.])

In [29]: np.roll(a,-1) # shifted left
Out[29]: array([ 2.,  3.,  4.,  1.])

In [30]: np.roll(a,1) # shifted right
Out[30]: array([ 4.,  1.,  2.,  3.])

If you want more shifts, just go np.roll(a,-2) and np.roll(a,2) and so on.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.