РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
375 of 541 menu

Метод transpose

Метод transpose класса ndarray возвращает транспонированную версию массива. Для двумерных массивов операция аналогична стандартному транспонированию матриц, когда строки становятся столбцами. Для многомерных массивов метод позволяет произвольно переставлять оси с помощью кортежа осей или сокращённо через атрибут T. Метод возвращает новый массив, а не изменяет исходный.

Синтаксис

arr.transpose([axes])

Необязательный параметр axes - это кортеж целых чисел, определяющий новый порядок осей. Если параметр не передан, метод транспонирует массив, меняя все оси местами в обратном порядке.

Пример

Давайте создадим двумерный массив и транспонируем его с помощью метода transpose:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) res = arr.transpose() print(res)

Результат выполнения кода:

[[1 4] [2 5] [3 6]]

В результате исходная матрица размера 2x3 превратилась в матрицу размера 3x2.

Пример

Транспонирование можно выполнить короче с помощью атрибута T, который работает аналогично:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) res = arr.T print(res)

Результат выполнения кода:

[[1 4] [2 5] [3 6]]

Атрибут T возвращает тот же результат, но не принимает аргументов для перестановки осей.

Пример

Для трёхмерного массива можно явно указать новый порядок осей. Создадим трёхмерный массив и переставим оси с помощью кортежа:

import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) res = arr.transpose((1, 0, 2)) print(res)

Результат выполнения кода:

[[[1 2] [5 6]] [[3 4] [7 8]]]

Кортеж (1, 0, 2) означает, что ось 1 становится первой осью, ось 0 - второй, а ось 2 остаётся на месте. Такой подход удобен для работы с многомерными данными, где оси могут иметь различный смысл.

Пример

Если вызвать transpose без параметров для трёхмерного массива, оси меняются местами в обратном порядке:

import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) res = arr.transpose() print(res)

Результат выполнения кода:

[[[1 5] [3 7]] [[2 6] [4 8]]]

Оси поменялись местами в порядке (2, 1, 0), что соответствует полной перестановке.

Смотрите также

  • метод reshape,
    который изменяет форму массива без перестановки осей
  • метод swapaxes,
    который меняет местами две указанные оси
  • атрибут T,
    который возвращает транспонированную версию массива без параметров
  • атрибут shape,
    который возвращает кортеж размерностей массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить