Объединение массивов NumPy по различным осям с использованием функции stack
В этом учебнике вы узнаете, как использовать функцию NumPy stack() для объединения массивов NumPy по различным осям. NumPy — это необходимая библиотека Python для всех, кто работает с данными в Python. Функция stack()
NumPy позволяет объединять массивы NumPy различными способами, вдоль осей NumPy.
К концу этого учебного пособия вы узнаете:
Как работает функция NumPy
stack()
Как складывать массивы NumPy по строкам
Как складывать массивы NumPy по столбцам
Содержание
Понимание функции стека NumPy
Перед тем как погрузиться в изучение использования функции stack() в NumPy, вы узнаете о различных параметрах, которые предлагает эта функция. Мы рассмотрим, как выглядит функция и как использовать разные параметры для настройки поведения функции.
На основе приведенного выше блока кода мы можем видеть, что функция принимает три параметра - из которых только один является обязательным. Давайте более подробно рассмотрим эти параметры:
arrays=
принимает последовательность структур, похожих на массивы, которые все имеют одинаковый размерaxis=0
принимает необязательный целочисленный аргумент.0
обозначает первую ось, а-1
указывает на последнее измерение.out=None
указывает место назначения для размещения результирующего массива, форма которого должна совпадать
Теперь, когда вы поняли, как работает функция, давайте рассмотрим несколько примеров её использования.
Укладка массивов построчно в NumPy
В этом разделе вы научитесь складывать массивы NumPy построчно. Это означает, что вы, по сути, конкатенируете массивы один за другим. Таким образом, мы складываем наши массивы вдоль 0-й оси, которая является параметром по умолчанию функции np.stack()
Давайте посмотрим, как это выглядит на примере:
Давайте разберем, что делает наш код выше:
Мы создали два массива,
arr1
иarr2
, которые содержат числа с 1 по 3 и с 4 по 6 соответственно.Мы затем создали новый массив,
stacked
, который был результатом использования функцииnp.stack()
для двух массивов.
По умолчанию NumPy объединяет два массива по 0-й оси. В данном случае это означает, что мы объединяем два массива построчно. В следующем разделе вы узнаете, как изменить это поведение и научитесь объединять массивы вдоль разных осей.
Укладка массивов по столбцам в NumPy
В этом разделе вы узнаете, как складывать массивы вдоль различных осей. Мы можем рассматривать это как столбцовое складывание массивов. Это лучше объяснить на примере. Давайте рассмотрим складывание наших двух массивов вдоль первой оси:
Мы видим, что массивы складываются по каждому элементу, в результате чего получаются массивы, содержащие значения из каждого «столбца» исходных массивов.
Одной из великолепных возможностей функции np.stack()
, которую мы можем использовать, является свертывание значений вдоль последней оси с помощью передачи -1
. В данном случае наша последняя ось - 1, но для надежности мы можем просто передать -1
. Давайте посмотрим, как это выглядит на практике:
В этом случае возвращается тот же массив. Это позволяет нам более безопасно выполнять наш код, гарантируя, что мы используем существующую ось!
Заключение
В этом учебнике вы узнали, как использовать функцию стека NumPy, которая позволяет объединять массивы по различным осям. Сначала вы узнали, как работает синтаксис функции. Затем вы научились использовать функцию для объединения массивов по различным осям. Наконец, вы узнали, как безопасно объединять массивы, используя отрицательную индексацию.
Дополнительные ресурсы
Чтобы узнать больше о связанных темах, ознакомьтесь с приведенными ниже руководствами:
NumPy где: обрабатывать элементы массива условно
Last updated