The Wayback Machine - https://web.archive.org/web/20230509165023/https://www.geeksforgeeks.org/numpy-roll-python/
Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

numpy.roll() in Python

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

The numpy.roll() function rolls array elements along the specified axis. Basically what happens is that elements of the input array are being shifted. If an element is being rolled first to the last position, it is rolled back to the first position. 
 

Syntax : 

numpy.roll(array, shift, axis = None)

Parameters : 

array : [array_like][array_like]Input array, whose elements we want to roll
shift : [int or int_tuple]No. of times we need to shift array elements.
        If a tuple, then axis must be a tuple of the same size, and each of the given 
        axes is shifted
        by the corresponding number. 
        If an int while axis is a tuple of ints, then the same value is used for all given axes.
axis  :  [array_like]Plane, along which we wish to roll array or shift it's elements.

Return : 

Output rolled array, with the same shape as a.

 

Python




# Python Program illustrating
# numpy.roll() method
  
import numpy as geek
  
array = geek.arange(12).reshape(3, 4)
print("Original array : \n", array)
  
# Rolling array; Shifting one place
print("\nRolling with 1 shift : \n", geek.roll(array, 1))
 
# Rolling array; Shifting five places
print("\nRolling with 5 shift : \n", geek.roll(array, 5))
 
# Rolling array; Shifting five places with 0th axis
print("\nRolling with 2 shift with 0 axis : \n", geek.roll(array, 2, axis = 0))

Output : 
 

Original array : 
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

Rolling with 1 shift : 
 [[11  0  1  2]
 [ 3  4  5  6]
 [ 7  8  9 10]]

Rolling with 5 shift : 
 [[ 7  8  9 10]
 [11  0  1  2]
 [ 3  4  5  6]]

Rolling with 2 shift with 0 axis : 
 [[ 4  5  6  7]
 [ 8  9 10 11]
 [ 0  1  2  3]]

References : 
https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.roll.html
Note : 
These codes won’t run on online IDE’s. So please, run them on your systems to explore the working.
This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 

My Personal Notes arrow_drop_up
Last Updated : 09 Mar, 2022
Like Article
Save Article
Similar Reads
Related Tutorials