Транспонирование — это операция, которая меняет местами оси массива. Для 2D массива (матрицы) это значит: строки становятся столбцами, столбцы — строками.
В NumPy это реализуется через атрибут .T или метод transpose().
Примеры:
import numpy as np
# Матрица 2x3
A = np.array([[1, 2, 3],
[4, 5, 6]])
A.shape # (2, 3)
# Транспонирование
B = A.T
B.shape # (3, 2)Результат B:
[[1 4]
[2 5]
[3 6]]
Особенности:
.Tне копирует данные, а создаёт view с изменённымиstrides.- Для 1D массива (
shape = (n,)) транспонирование не изменяет массив: он остаётся(n,). - Для nD массива (n > 2) можно задавать порядок осей через
np.transpose(A, axes=(...)).
Применение:
- Быстрая перестановка строк и столбцов
- Подготовка массивов для линейной алгебры (
dot,matmul) - Broadcasting с 2D массивами
Ключевая мысль: транспонирование меняет только представление осей, данные в памяти остаются на своих местах.