Open In App

numpy.roll() in Python

Last Updated : 08 Mar, 2024
Suggest changes
Share
Like Article
Like
Report

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]]


These codes won't run on online IDE's. So please, run them on your systems to explore the working.
 


Explore