NumPy transpose()

The transpose() method swaps the axes of the given array similar to the transpose of a matrix in mathematics. In the case of arrays with more than two dimensions, transpose() permutes the axes based on the given argument.


transpose() Syntax

The syntax of transpose() is:

numpy.transpose(array, axes = None)

transpose() Arguments

The transpose() method takes two arguments:

  • array - the array to be transposed
  • axes(optional) - the axes of the transposed matrix ( tuple or list of integers )

transpose() Return Value

The transpose() method returns an array with axes permuted.


Example 1: Transposing an Array Without Axes Argument

Output

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

Transposing a two-dimensional NumPy array is the same as transposing a matrix.


Example 2: Transposing a 1D Array

If we use the transpose() method on a one-dimensional array, the method returns the original array.

Output

 [1 2 3 4]

Note: The transpose() method cannot increase the dimension of an array. Hence, the method cannot convert a unidirectional row array to a column array.


Example 3: Transposing a 3D Array

The axes argument (second argument) defines which axes are swapped.

Output

When axes are (2, 0, 1):
[[[0 2]
  [4 6]]

 [[1 3]
  [5 7]]]

When axes are (0, 2, 1):
[[[0 2]
  [1 3]]

 [[4 6]
  [5 7]]]

Note: NumPy uses indices to represent dimensions, unlike traditional concepts like x, y, and z. The dimensions are represented as dimension 0, dimension 1, and so on.

Thus, the axes argument cannot have repeated elements since a dimension can only appear once.

1. Using (2, 0, 1) as the second argument to transpose()

In the original array, (x, y, z) are represented by (0, 1, 2).

If we use (2, 0, 1) as the second argument to the transpose() method, it means

  • z-axis (index 2) becomes the new x-axis
  • x-axis (index 0) becomes the new y-axis
  • y-axis (index 1) becomes the new z-axis

2. Using (0, 2, 1) as the second argument to transpose()

If we use (0, 2, 1) as the second argument to the transpose() method, it means

  • x-axis (index 0) will remain unchanged
  • z-axis (index 2) becomes the new y-axis
  • y-axis (index 1) becomes the new z-axis

Note: It is hard to visualize the working of transpose() for arrays having more than two dimensions. To learn more, visit working of transpose() on a 3D array.