numpy.transpose#
- numpy.транспонирование(a, оси=None)[источник]#
Возвращает массив с переставленными осями.
Для одномерного массива это возвращает неизменённое представление исходного массива, так как транспонированный вектор — это просто тот же вектор. Чтобы преобразовать одномерный массив в двумерный вектор-столбец, необходимо добавить дополнительное измерение, например,
np.atleast_2d(a).Tдостигает этого, как иa[:, np.newaxis]. Для 2-мерного массива это стандартное транспонирование матрицы. Для n-мерного массива, если оси заданы, их порядок указывает, как оси переставляются (см. Примеры). Если оси не предоставлены, тоtranspose(a).shape == a.shape[::-1].- Параметры:
- aarray_like
Входной массив.
- осикортеж или список целых чисел, опционально
Если указано, это должен быть кортеж или список, содержащий перестановку [0, 1, …, N-1], где N — количество осей a. Отрицательные индексы также могут использоваться для указания осей. i-я ось возвращаемого массива будет соответствовать оси с номером
axes[i]входных данных. Если не указано, по умолчаниюrange(a.ndim)[::-1], который меняет порядок осей на обратный.
- Возвращает:
- pndarray
a с переставленными осями. Представление возвращается, когда это возможно.
Смотрите также
ndarray.transposeЭквивалентный метод.
moveaxisПереместите оси массива в новые позиции.
argsortВозвращает индексы, которые отсортировали бы массив.
Примечания
Используйте
transpose(a, argsort(axes))для инвертирования транспонирования тензоров при использовании оси аргумент ключевого слова.Примеры
>>> import numpy as np >>> a = np.array([[1, 2], [3, 4]]) >>> a array([[1, 2], [3, 4]]) >>> np.transpose(a) array([[1, 3], [2, 4]])
>>> a = np.array([1, 2, 3, 4]) >>> a array([1, 2, 3, 4]) >>> np.transpose(a) array([1, 2, 3, 4])
>>> a = np.ones((1, 2, 3)) >>> np.transpose(a, (1, 0, 2)).shape (2, 1, 3)
>>> a = np.ones((2, 3, 4, 5)) >>> np.transpose(a).shape (5, 4, 3, 2)
>>> a = np.arange(3*4*5).reshape((3, 4, 5)) >>> np.transpose(a, (-1, 0, -2)).shape (5, 3, 4)