Метод repeat
Метод repeat класса ndarray создает новый массив,
в котором каждый элемент исходного массива повторяется
указанное количество раз. Метод возвращает новый массив,
не изменяя исходный. Первым параметром метод принимает
число повторений для каждого элемента, вторым параметром
можно указать ось, вдоль которой выполняется повторение.
Синтаксис
arr.repeat(repeats, [axis])
Пример
Давайте создадим одномерный массив и повторим каждый элемент два раза:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.repeat(2)
print(res)
Результат выполнения кода:
[1 1 2 2 3 3 4 4 5 5]
Пример
Теперь повторим каждый элемент разное количество раз, передав список значений:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.repeat([1, 2, 3, 4, 5])
print(res)
Результат выполнения кода:
[1 2 2 3 3 3 4 4 4 4 5 5 5 5 5]
Пример
Применим метод repeat к двумерному массиву вдоль строк (ось 0):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.repeat(2, axis=0)
print(res)
Результат выполнения кода:
[[1 2 3]
[1 2 3]
[4 5 6]
[4 5 6]]
Пример
Повторим элементы двумерного массива вдоль столбцов (ось 1):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.repeat(2, axis=1)
print(res)
Результат выполнения кода:
[[1 1 2 2 3 3]
[4 4 5 5 6 6]]
Пример
Передадим разное количество повторений для каждой строки двумерного массива:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.repeat([2, 3], axis=0)
print(res)
Результат выполнения кода:
[[1 2 3]
[1 2 3]
[4 5 6]
[4 5 6]
[4 5 6]]