Функция np.roll() определена в Numpy, импортировать можно как import NumPy as np. Мы можем создавать многомерные массивы и получать другую математическую статистику с помощью NumPy, библиотеки на Python.
Что такое функция np.roll() в Python?
numpy.roll() в Python — это математическая функция, используемая для сдвига элементов массива вдоль заданной оси, т. е. смещения элементов входного массива. Например, если элемент сначала перемещается в последнюю позицию, он возвращается в первую позицию.
Синтаксис
|
1 |
numpy.roll(array, shift, axis=None) |
Параметры
- array: это входной массив, элементы которого должны быть свернуты.
- shift: имеет тип данных int и tuple. Он показывает, сколько раз нам нужно сдвинуть элементы массива. Если это тип кортежа, то ось должна быть кортежем того же размера, и соответствующее число сдвигает каждую из заданных осей. Если используется тип данных int, то одно и то же значение используется для всех заданных осей для вращения во входном массиве.
- axis: изображает плоскость, по которой мы хотим сдвигать массив или его элементы.
Возвращаемое значение
Возвращает свернутый массив того же размера, что и входной массив.
Пример с функцией Numpy.roll()
Напишем программу, показывающую работу функции Numpy.roll().
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import numpy as np # creating a sample array with arange and reshape function array = np.arange(12).reshape(3, 4) print("Original array : \n", array) # Rolling array; Shifting one place print("\nRolling with 1 shift : \n", np.roll(array, 1)) # Rolling array; Shifting four places print("\nRolling with 4 shift : \n", np.roll(array, 4)) # Rolling array; Shifting five places with 1th axis print("\nRolling with 5 shift with 1 axis : \n", np.roll(array, 2, axis=1)) |
Выход
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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 4 shift : [[ 8 9 10 11] [ 0 1 2 3] [ 4 5 6 7]] Rolling with 5 shift with 1 axis : [[ 2 3 0 1] [ 6 7 4 5] [10 11 8 9]] |
Объяснение
В приведенной выше программе массив создается с помощью функции аранжировки и функции изменения формы.
Функция Arange создала массив из 12 элементов, начиная с 0 до 11, а функция reshape создала матрицу с 3 строками и 4 столбцами.
- 1-я функция используется для сдвига всех ее элементов на 1 раз.
- 2-я функция используется для сдвига всех его элементов в 4 раза.
- 3-я функция используется для сдвига всех его элементов в 5 раз относительно нулевой оси.
