Функция numpy.transpose() в Python — примеры транспонирования матрицы и массива

np.transpose() в Python — это библиотечная функция Numpy, которая выполняет простую функцию транспонирования в одной строке. Метод transpose() может транспонировать 2D-массивы; однако это не влияет на одномерные массивы. Он переворачивает или переставляет оси массива и возвращает измененный массив. Для массива с двумя осями транспонирование(а) дает транспонирование матрицы.

Транспонирование массива 1D по-прежнему является массивом 1D. Однако метод transpose() транспонирует двумерный массив numpy.

Ndarray — это(обычно фиксированного размера) многомерный контейнер элементов одного типа и размера. Количество измерений и элементов в массиве определяется его формой, которая представляет собой кортеж из N неотрицательных целых чисел, определяющих размеры каждого измерения. Тип элементов в массиве определяется отдельным объектом типа данных(dtype), связанным с каждым ndarray.

Как и в случае с другими объектами-контейнерами в Python, к содержимому ndarray можно получить доступ и изменить его путем индексации или разделения массива(например, с использованием N целых чисел), а также с помощью методов и атрибутов ndarray.

Вы должны установить numpy для этого урока. Кроме того, проверьте свою версию numpy. Прежде чем двигаться дальше, давайте узнаем разницу между матрицами Numpy и массивами Numpy.

Синтаксис

Параметры numpy.transpose() в Python

  1. а: array_like — это входной массив.
  2. axes: кортеж или список целых чисел, необязательный.

Если указан, это должен быть кортеж или список, содержащий перестановку [0,1,.., N-1], где N — количество осей a.

i-я ось возвращаемого массива будет соответствовать оси с номером axes[i] ввода.

Если не указан, по умолчанию используется диапазон(a.ndim)[::-1], который меняет порядок осей на противоположный.

Возвращаемое значение

Функция transpose() в Python возвращает массив с переставленными осями. Представление возвращается всякий раз, когда это возможно.

Пример

Выход

Мы определили массив с помощью функции np.arange() и преобразовали его в(2 X 3). Затем мы использовали функцию transpose(), чтобы преобразовать строки в столбцы и столбцы в строки.

Транспонирование двумерного массива (матрицы)

Вы можете получить транспонированную матрицу исходного двумерного массива(матрицы) с атрибутом T в Python. См. следующий код.

Выход

Атрибут Numpy T возвращает представление исходного массива, и изменение одного изменяет другое. Вы можете проверить, ссылается ли ndarray на данные в той же памяти, с помощью np.shares_memory().

ndarray.transpose()

Transpose() предоставляется как метод ndarray.

Выход

Вы можете видеть, что мы получили тот же результат, что и выше.

Транспонирование объекта, подобного массиву

Функция transpose() работает с объектами, похожими на массивы, такими как вложенный список.

Выход

Преобразование 1D-вектора в 2D-массив в Numpy

Чтобы преобразовать ваш 1D-вектор в 2D-массив, а затем транспонировать его, нарежьте его с помощью numpy np.newaxis(или None, они одинаковы; новая ось только более читабельна).

См. следующий код.

Выход

Добавление дополнительного измерения обычно не то, что вам нужно, если вы делаете это по привычке. Numpy будет автоматически транслировать массив 1D при выполнении различных вычислений.

Таким образом, обычно нет необходимости различать вектор-строку и вектор-столбец(ни один из них не является вектором. Они оба двумерные!), когда вам нужен вектор.

Вы также можете использовать следующий метод.

Выход

Применение transpose() или T к одномерному массиву

Если мы применяем T или transpose() к одномерному массиву, он возвращает массив, эквивалентный исходному массиву.

Выход

Numpy matrix.transpose()

В приведенном выше разделе мы увидели, как найти транспонирование массива numpy с помощью функции numpy transpose(). Но сначала давайте найдем транспонированную матрицу — numpy matrix().

Выход

Матрица только с одной строкой называется вектором-строкой, а матрица с одним столбцом называется вектором-столбцом, но в одномерном массиве ndarray нет различия между строками и столбцами. Двумерный массив указывает, что присутствуют только строки или столбцы. Здесь преобразуйте форму с помощью reshape().

Указание порядка осей с помощью transpose()

Использование T навсегда меняет порядок, но вы можете указать любой порядок, используя метод transpose().

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

Метод ndarray transpose() задает порядок осей с аргументами или кортежами переменной длины.

Выход

Ошибка возникает, если количество указанных осей не соответствует нескольким измерениям исходного массива или если указано несуществующее измерение.

Заключение

np.transpose() — это функция, используемая для транспонирования заданного массива. Транспонирование массива означает, что строки становятся столбцами, а столбцы — строками. Функцию np.transpose() можно применять к любому массиву Numpy, включая матрицы.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python