Функция np.repeat() NumPy: Повторение массивов NumPy
В этом руководстве вы научитесь использовать функцию повторения NumPy - np.repeat()
. Функция np.repeat()
используется для повторения массивов и предоставляет значительные возможности для настройки того, как массивы повторяются. Умение работать с массивами NumPy является важным навыком для анализа данных, науки о данных и глубокого обучения.
К концу этого руководства вы узнаете:
Как работает функция повтора NumPy
Как повторять массивы NumPy по строкам и по столбцам
Как повторить многомерные данные в NumPy
Оглавление
Понимание функции повтора NumPy
Перед тем, как глубоко погрузиться в работу функции повторения NumPy, важно понять синтаксис этой функции. Блок кода ниже показывает синтаксис функции и все доступные параметры:
Мы видим из приведенного выше блока кода, что функция имеет три различных параметра. Давайте посмотрим, что делает каждый из них:
a=
принимает входной массивrepeats=
определяет количество повторений для каждого элементаaxis=
определяет ось, вдоль которой будут повторяться значения. ЕслиNone
, используется плоский массив в качестве входных данных и возвращается плоский массив.
Повторение одномерного массива NumPy
Используя функцию повторения repeat()
в NumPy на одномерном массиве, значения в этом массиве повторяются. То, что может вас удивить, так это то, что повторение происходит поэлементно. Чтобы лучше понять, как это выглядит, давайте рассмотрим пример:
В приведенном выше примере мы передаем одномерный массив NumPy в функцию repeat()
. Также мы указываем функции повторить каждый элемент дважды.
Вместо того, чтобы возвращать весь массив один за другим, каждый элемент повторяется последовательно. В следующем разделе вы узнаете, как повторять элементы в двумерном массиве.
Повторение двумерного массива NumPy
В этом разделе вы научитесь повторять элементы двумерного массива. В предыдущем разделе вы узнали, что элементы повторяются поэлементно, а не по массивам.
В этом разделе вы узнаете, что по умолчанию функция будет возвращать плоский массив. Это означает, что элементы сначала преобразуются в одномерный массив, а затем повторяются.
Давайте рассмотрим пример для лучшего понимания:
В приведенном выше примере видно, что сначала значения преобразуются в одномерный массив, а затем повторяются. Это происходит потому, что параметр axis
по умолчанию установлен в
В следующем разделе вы узнаете, как настроить поведение для повторения элементов по столбцам.
Повторение массива NumPy построчно
Во многих случаях вам может не потребоваться повторять многомерный массив в его уплощенной версии. Вы можете настроить это поведение, изменив параметр axis
В NumPy, ось с индексом 0 представляет строки. Давайте передадим 0
в параметр axis
и посмотрим, как это изменит поведение:
В приведенном выше примере мы передали тот же двумерный массив и повторили его дважды вдоль нулевой оси. В этом случае каждая "строка" повторяется.
В следующем разделе вы узнаете, как повторять элементы в столбцах.
Повторение массива NumPy по столбцам
В предыдущем разделе вы научились повторять строки массива NumPy с помощью функции np.repeat()
. В этом разделе вы узнаете, как повторять элементы по столбцам, то есть каждый "столбец" повторяется.
Давайте посмотрим, как мы можем изменить поведение параметра axis
, чтобы достичь этого:
Здесь мы видим, что каждый «столбец» массива повторяется.
Заключение
В этом учебном пособии вы научились использовать функцию повторения NumPy для повторения элементов в массиве NumPy. Функция позволяет повторять элементы в массиве поэлементно, что может удивить пользователей функции. Сначала вы узнали, какие параметры доступны в функции и как работать с одномерными массивами.
Затем вы научились использовать функцию с двумерными массивами. По умолчанию функция выпрямляет массив и повторяет элементы. Модифицируя поведение функции, можно использовать функцию для повторения элементов по строкам или столбцам.
Дополнительные ресурсы
Чтобы узнать больше о схожих темах, ознакомьтесь с нижеприведенными учебными материалами:
NumPy где: обрабатывать элементы массива условно
Last updated