X.T в NumPy — это транспонирование массива X, то есть смена местами осей. Для 2D массива это превращает строки в столбцы и наоборот.

Пример:

import numpy as np
 
X = np.array([[1, 2, 3],
              [4, 5, 6]])  # shape (2, 3)
 
X_T = X.T
print(X_T)
# [[1 4]
#  [2 5]
#  [3 6]]
print(X_T.shape)  # (3, 2)

Особенности:

  • Для 2D массива (m, n)(n, m)
  • Для 1D массива (n,) транспонирование не меняет форму, остаётся (n,)
  • .T не копирует данные, а создаёт view с изменёнными strides
  • Для массивов с более чем 2 измерениями можно использовать np.transpose(X, axes=(...)), чтобы явно указать порядок осей

Применение:

  • Подготовка массивов к матричным операциям (dot, matmul)
  • Смена строк и столбцов для broadcasting
  • Удобно для визуализации и линейной алгебры

Идея: X.T просто меняет направление осей, не трогая фактические данные в памяти.