## NumPy Matrix Transpose

The transpose matrix function is a very commonly needed component of the coding language and is generally performed using the nested loop. But with the Numpy transpose matrix () function present in the programming language python enables just a single line code to return the transposed value to a matrix entered by the user, thereby simplifying an important function in terms of logic and verbosity. The transpose function to be simply put reverses the order of the elements arranged in rows and columns, i.e., an array having an orientation of (X, Y) would become (Y, X).

The Numpy package is a multi-purpose prebuilt package developed majorly to process and aid in the data manipulation of arrays (majorly focusing on the multi-dimensional arrays).

## Syntax:

numpy.transpose(a,axes=None)

## Parameter:

Name of Parameter Description Status
A Input array – It represents the inbuild array that is used by the coder. (It can be both a variable pre-entered or be prompted to the user to feed values and custom-make an array by defining its dimensional size and elements) Required
Axis By default, the array is reversed dimensionally. It can also be done by permuting the axes according to value, which is defined by the user, through the formula syntax) Optional

## Axes:

The second argument used in the numpytranspose() function is axes by utilizing which the values are being permuted.

To simplify it, let us take an example:

Let us assume the index of initial elements is (x,y,z)

(here  x  represents the 0th axes

y  represents the 1st axes

and  z  represents the 2nd axes)

The resultant transposed array would have its orientation as (z,y,x) ; where the 0th and 2nd axes have interchanged.

(here  z  represents the 0th axes

y  represents the 1st axes

and  x  represents the 2nd axes)

## Return value:[ndarray]

Itis returned as the output value where the axes are permuted. A view of the array is returned if possible.

## Example of NumPy Matrix Transpose

An example of the application of Numpy matrix is given below:

Code to Transpose the array using Numpy transpose Comments

import numpy as np

xyz = np.matrix(‘[1, 2 ; 3, 4]’)

ans= np.transpose(xyz)

print(ans)

## Output: Function used to import the important module needed to implement the solution in python

numpy function used to create the matrix

numpy function used to create a matrix

application of the matrix.transpose() function to give the required result

## matrix.transpose() –

The function gives back a view of the array with the axes reversed.

This has no effect on the one-dimensional array as the resultant array is exactly the same. The effect is seen on multi-dimensional arrays. An additional dimension has to be added when transposing arrays of one and two-dimension columned vector respectively. This is achieved by ndarray.T and np.newaxis.

For an array a where its dimension is not defined, assuming it be n-dimensional

a.shape=(i,i,i…i[n-2],i[n-1])

a.transpose().shape=(i[n-1],i[n-2],…i,i,i)

## Explanation of the Process of Transposing and Pictorial Representation

To understand the mechanism of transposing we have to understand that Numpy function just uses the information of the shapes and strides and swaps them to return the transposed array. The below example displays the way in which the function happens:

## Code:

arr = np.array([[12, 32, 4]])

arr

## Output: arr.strides

## Output: ## Code:

arr.transpose(1, 0).strides

## Output: You can see that the transpose operation, no data needs is needed to be copied and NumPy uses the underlying memory to rearrange the construct of the new transposed array.

## Visualizing the Strides

Stride value is a representation of a byte that is traveling in the memory to reach the next value of an axis of an array.

Let us consider a 3-dimentional array arr that looks like below. This array gets stored in the contiguous block of memory in the computer which seems 1D to it, in order to have an interpretation on its 3D visualization the Numpy function jumps over certain bytes to move along one of the axes.

## Code:

```import numpy as np
A =np.arange(30). reshape((2,3,5))
print(A)
print(np.transpose(A,(1,2,0)))
```

### Output: Apply now for Advanced Python Training Course