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.