РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
60 of 541 menu

Функция roll

Функция roll выполняет циклический сдвиг элементов массива на заданное количество позиций. Первым параметром функция принимает массив, вторым - количество позиций для сдвига (положительное значение сдвигает элементы вправо, отрицательное - влево). Третьим параметром можно указать ось, вдоль которой выполняется сдвиг.

Синтаксис

np.roll(arr, shift, [axis])

Пример с одномерным массивом

Давайте выполним циклический сдвиг элементов одномерного массива на две позиции вправо:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.roll(arr, 2) print(res)

Результат выполнения кода:

[4 5 1 2 3]

Пример с отрицательным сдвигом

Выполним циклический сдвиг элементов одномерного массива на две позиции влево:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.roll(arr, -2) print(res)

Результат выполнения кода:

[3 4 5 1 2]

Пример с двумерным массивом

Выполним циклический сдвиг элементов двумерного массива по строкам (ось 0):

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = np.roll(arr, 1, axis=0) print(res)

Результат выполнения кода:

[[7 8 9] [1 2 3] [4 5 6]]

Пример с двумерным массивом по столбцам

Выполним циклический сдвиг элементов двумерного массива по столбцам (ось 1):

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = np.roll(arr, 1, axis=1) print(res)

Результат выполнения кода:

[[3 1 2] [6 4 5] [9 7 8]]

Пример с многомерным массивом

Выполним циклический сдвиг элементов трехмерного массива по различным осям:

import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) res = np.roll(arr, 1, axis=(0, 1)) print(res)

Результат выполнения кода:

[[[7 8] [5 6]] [[3 4] [1 2]]]

Смотрите также

  • функцию flip,
    которая переворачивает массив вдоль указанной оси
  • функцию fliplr,
    которая переворачивает массив слева направо
  • функцию flipud,
    которая переворачивает массив сверху вниз
  • функцию rot90,
    которая поворачивает массив на 90 градусов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить