numpy.repeat()
Функция numpy.repeat() повторяет каждый элемент массива заданное число раз. В отличие от np.tile, которая повторяет массив целиком, repeat дублирует каждый элемент отдельно.
Сигнатура
numpy.repeat(a, repeats, axis=None)
Параметры
a— входной массив.repeats— число повторов: одно число или массив (по одному для каждого элемента).axis— ось повторения. ЕслиNone, массив сначала распрямляется.
Возвращает
ndarray увеличенного размера.
Пример 1. Одинаковое число повторов
import numpy as np
a = np.array([1, 2, 3])
print(np.repeat(a, 3))
[1 1 1 2 2 2 3 3 3]
Пример 2. Разное число повторов
import numpy as np
a = np.array([10, 20, 30])
print(np.repeat(a, [1, 2, 4]))
[10 20 20 30 30 30 30]
Пример 3. Повторение строк матрицы
import numpy as np
M = np.array([[1, 2],
[3, 4]])
print(np.repeat(M, 2, axis=0))
[[1 2]
[1 2]
[3 4]
[3 4]]
Пример 4. Повторение столбцов
import numpy as np
M = np.array([[1, 2],
[3, 4]])
print(np.repeat(M, 2, axis=1))
[[1 1 2 2]
[3 3 4 4]]
Пример 5. Растяжение изображения по горизонтали
import numpy as np
# 1×3 «пиксельная строка»
row = np.array([[100, 150, 200]], dtype=np.uint8)
stretched = np.repeat(row, 4, axis=1)
print(stretched)
[[100 100 100 100 150 150 150 150 200 200 200 200]]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.