> For the complete documentation index, see [llms.txt](https://bemind.gitbook.io/neural/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/numpy/funkciya-np.repeat-numpy-povtorenie-massivov-numpy.md).

# Функция np.repeat() NumPy: Повторение массивов NumPy

В этом руководстве вы научитесь использовать функцию повторения NumPy - `np.repeat()`. Функция `np.repeat()` используется для повторения массивов и предоставляет значительные возможности для настройки того, как массивы повторяются. Умение работать с массивами NumPy является важным навыком для анализа данных, науки о данных и глубокого обучения.

К концу этого руководства вы узнаете:

* Как работает функция повтора NumPy
* Как повторять массивы NumPy по строкам и по столбцам
* Как повторить многомерные данные в NumPy

Оглавление

* [Понимание функции повтора NumPy](#ponimanie-funkcii-povtora-numpy)
* [Повторение одномерного массива NumPy](#povtorenie-odnomernogo-massiva-numpy)
* [Повторение двумерного массива NumPy](#povtorenie-dvumernogo-massiva-numpy)
* [Повторение массива NumPy построчно](#povtorenie-massiva-numpy-postrochno)
* [Повторение массива NumPy по столбцам](#povtorenie-massiva-numpy-po-stolbcam)
* [Заключение](#zaklyuchenie)
* [Дополнительные ресурсы](#additional-resources)

### Понимание функции повтора NumPy

Перед тем, как глубоко погрузиться в работу функции повторения NumPy, важно понять синтаксис этой функции. Блок кода ниже показывает синтаксис функции и все доступные параметры:

```python
# Понимание синтаксиса функции np.repeat()
np.repeat(
    # Аргумент, который будет повторен
   a, 
    # Количество раз, на которое аргумент должен быть повторен
   repeats, 
    # Набор индексов, по которым повторение будет производиться (по умолчанию - все измерения)
   axis=None
)
```

Мы видим из приведенного выше блока кода, что функция имеет три различных параметра. Давайте посмотрим, что делает каждый из них:

* `a=` принимает входной массив
* `repeats=` определяет количество повторений для каждого элемента
* `axis=` определяет ось, вдоль которой будут повторяться значения. Если `None`, используется плоский массив в качестве входных данных и возвращается плоский массив.

### Повторение одномерного массива NumPy

Используя функцию повторения `repeat()` в NumPy на одномерном массиве, значения в этом массиве повторяются. То, что может вас удивить, так это то, что **повторение происходит поэлементно**. Чтобы лучше понять, как это выглядит, давайте рассмотрим пример:

```python
# Повторение одномерного массива при помощи np.repeat()
import numpy as np

arr = np.array([1, 2, 3]) # Одномерный массив из трех элементов
print(np.repeat(arr, 2)) # Вывод повторенного массива

# Возвращает:
# [1 1 2 2 3 3]
```

В приведенном выше примере мы передаем одномерный массив NumPy в функцию `repeat()`. Также мы указываем функции повторить каждый элемент дважды.

Вместо того, чтобы возвращать весь массив один за другим, каждый элемент повторяется последовательно. В следующем разделе вы узнаете, как повторять элементы в двумерном массиве.

### Повторение двумерного массива NumPy

В этом разделе вы научитесь повторять элементы двумерного массива. В предыдущем разделе вы узнали, что элементы повторяются поэлементно, а не по массивам.

В этом разделе вы узнаете, что по умолчанию функция будет возвращать плоский массив. Это означает, что элементы сначала преобразуются в одномерный массив, а затем повторяются.

Давайте рассмотрим пример для лучшего понимания:

```python
# Повторение двумерного NumPy-массива при помощи np.repeat()
import numpy as np

arr = np.array([[1,2],[3,4]]) # Двумерный массив из двух строк и двух столбцов
print(np.repeat(arr, 2)) # Вывод повторенного массива

# Возвращает:
# [1 1 2 2 3 3 4 4]
```

В приведенном выше примере видно, что сначала значения преобразуются в одномерный массив, а затем повторяются. Это происходит потому, что параметр `axis` по умолчанию установлен в

В следующем разделе вы узнаете, как настроить поведение для повторения элементов по столбцам.

### Повторение массива NumPy построчно

Во многих случаях вам может не потребоваться повторять многомерный массив в его уплощенной версии. Вы можете настроить это поведение, изменив параметр `axis`

В NumPy, ось с индексом 0 представляет строки. Давайте передадим `0` в параметр `axis` и посмотрим, как это изменит поведение:

```python
# Повторение элементов по столбцам в NumPy
import numpy as np

arr = np.array([[1,2],[3,4]]) # Двумерный массив из двух строк и двух столбцов
print(np.repeat(arr, 2, axis=0)) # Вывод повторенного массива с повторением по строкам (по умолчанию)

# Возвращает:
# [[1 2]
# [3 4]]
# 
# Это не то, что ожидалось. Правильный результат будет ниже.
```

В приведенном выше примере мы передали тот же двумерный массив и повторили его дважды вдоль нулевой оси. В этом случае каждая "строка" повторяется.

В следующем разделе вы узнаете, как повторять элементы в столбцах.

### Повторение массива NumPy по столбцам

В предыдущем разделе вы научились повторять строки массива NumPy с помощью функции `np.repeat()`. В этом разделе вы узнаете, как повторять элементы по столбцам, то есть каждый "столбец" повторяется.

Давайте посмотрим, как мы можем изменить поведение параметра `axis`, чтобы достичь этого:

```python
# Повторение элементов по строкам в NumPy
import numpy as np

arr = np.array([[1,2],[3,4]]) # Двумерный массив из двух строк и двух столбцов
print(np.repeat(arr, 2, axis=1)) # Вывод повторенного массива с повторением по столбцам

# Возвращает:
# [[1 1 2 2]
# [3 3 4 4]]
```

Здесь мы видим, что каждый «столбец» массива повторяется.

### Заключение

В этом учебном пособии вы научились использовать функцию повторения NumPy для повторения элементов в массиве NumPy. Функция позволяет повторять элементы в массиве поэлементно, что может удивить пользователей функции. Сначала вы узнали, какие параметры доступны в функции и как работать с одномерными массивами.

Затем вы научились использовать функцию с двумерными массивами. По умолчанию функция выпрямляет массив и повторяет элементы. Модифицируя поведение функции, можно использовать функцию для повторения элементов по строкам или столбцам.

### Дополнительные ресурсы

Чтобы узнать больше о схожих темах, ознакомьтесь с нижеприведенными учебными материалами:

* [NumPy Pad: использование `np.pad()` для заполнения массивов и матриц](/neural/uchebniki-po-pandas-i-numpy/numpy/numpy-pad-ispolzovanie-np.pad-dlya-dopolneniya-massivov-i-matric.md)
* NumPy где: обрабатывать элементы массива условно
* [`np.argmax()`: Как использовать NumPy Argmax](/neural/uchebniki-po-pandas-i-numpy/numpy/np.argmax-kak-ispolzovat-numpy-argmax.md)
* [NumPy linspace: создание равномерно расположенных массивов с помощью `np.linspace`](/neural/uchebniki-po-pandas-i-numpy/numpy/numpy-linspace-sozdanie-ravnomerno-raspolozhennykh-massivov-s-pomoshyu-np.linspace.md)
* [Повтор NumPy: официальная документация](https://numpy.org/doc/stable/reference/generated/numpy.repeat.html)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/numpy/funkciya-np.repeat-numpy-povtorenie-massivov-numpy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
