np.repeat — это функция NumPy для повторения элементов массива заданное число раз. В контексте частотных и функциональных представлений данных она часто используется для восстановления выборки из частотного массива или для тиражирования значений без циклов.
Базовый синтаксис:
np.repeat(a, repeats, axis=None)– a — исходный массив
– repeats — сколько раз повторять каждый элемент
– axis — ось (если None, массив предварительно «выпрямляется»)
Простейший пример:
import numpy as np
a = np.array([1, 2, 3])
np.repeat(a, 2)Результат:
[1 1 2 2 3 3]
Разное число повторов для элементов:
repeats = np.array([1, 3, 2])
np.repeat(a, repeats)Результат:
[1 2 2 2 3 3]
Связь с bincount и частотными массивами:
Типичный паттерн:
– есть частотный массив counts
– индексы — значения
– нужно восстановить исходную дискретную выборку
counts = np.array([1, 2, 3])
values = np.arange(len(counts))
data = np.repeat(values, counts)data будет:
[0, 1, 1, 2, 2, 2]
Работа с осью:
X = np.array([[1, 2],
[3, 4]])
np.repeat(X, 2, axis=0)Результат:
[[1 2]
[1 2]
[3 4]
[3 4]]
Важно различать:
– np.repeat — повторяет элементы
– np.tile — повторяет блоки целиком
Когда используют np.repeat:
– восстановление выборки из частотного представления
– расширение данных по весам
– устранение циклов при тиражировании значений
Коротко:
np.repeat — векторизированный способ повторять элементы массива, часто используемый вместе с bincount для работы с дискретными частотными представлениями данных.