Добавить измерение в массив NumPy

  1. Добавить измерение в массив NumPy с помощью функции numpy.expand_dims()
  2. Добавить измерение в массив NumPy с помощью функции numpy.newaxis в Python

В этом руководстве будут представлены методы добавления нового измерения в массив NumPy в Python.

Добавить измерение в массив NumPy с помощью функции numpy.expand_dims()

Функция numpy.expand_dims() добавляет новое измерение к массиву NumPy. Он принимает расширяемый массив и новую ось в качестве аргументов и возвращает новый массив с дополнительными измерениями. Мы можем указать ось для раскрытия внутри параметра axis функции numpy.expand_dims(). См. Следующий пример кода.

import numpy as np

array = np.array([1,2,3])
print(array.shape)

array = np.expand_dims(array, axis = 0)
print(array.shape)

array = np.append(array, [[4,5,6]], axis=0)
print(array)

Выход:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

В приведенном выше коде мы сначала создали одномерный массив array с помощью функции np.array() и распечатали форму array со свойством array.shape. Затем мы преобразовали array в 2D-массив с помощью функции np.expand_dims(array, axis=0) и распечатали новую форму array со свойством array.shape. В итоге мы добавили новые элементы к array с помощью функции np.append() и распечатали элементы array.

Добавить измерение в массив NumPy с помощью функции numpy.newaxis в Python

Предыдущий подход делает свою работу и пока работает нормально. Единственная проблема заключается в том, что предыдущий метод устарел и, вероятно, не будет работать с новыми версиями Python в будущем. Метод numpy.newaxis также можно использовать для достижения той же цели, что и предыдущий метод, но с еще меньшим кодом и сложностью. С помощью этого метода нам также не нужно беспокоиться о том, что он не будет поддерживаться в более поздних версиях Python. Метод numpy.newaxis добавляет новое измерение в наш массив в Python.

import numpy as np

array = np.array([1,2,3])
print(array.shape)

array = array[np.newaxis]
print(array.shape)

array = np.append(array, [[4,5,6]], axis=0)
print(array)

Выход:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

Мы преобразовали array в 2D-массив с помощью метода array[np.newaxis] и распечатали новую форму array со свойством array.shape. В итоге мы добавили новые элементы к array с помощью функции np.append() и распечатали элементы array.