Quick Tip Transpose Matrix Using Python

Beginners and experienced coders can refer to this tutorial for gaining full-fledged knowledge on Matrix Transposing using Python. We hope that you might learn about this concept in math class, yet if you don’t get any idea about the transpose of a matrix then it is pretty easy to follow.

Already, you might have some experience with matrices and how to use them in python, so here we are going to learn about how to transpose a matrix using python quickly and easily. Please follow this Quick Tip Transpose Matrix Using Python Tutorial till to an end and gain perfect knowledge for transposing matrix in python correctly.

This Quick Tip Matrix Transpose using Python Tutorial includes the following stuff: 

What is the Transpose of a Matrix?

Matrix Transposing creates a new matrix where the rows and columns of the initial matrix are turned. For example, if the initial matrix has the shape [4,5], then the shape of the transposed matrix will be [5,4].

Transposing matrices have real-world applications in all fields where linear algebra is utilized to do complex programs. A few of these areas are as follows:

  • Image Processing
  • Machine Learning and Data Science
  • Social Network Analysis
  • Statistical Programming
  • Signal Modulation and Demodulation

By transposing rows and columns of a given matrix, you can achieve much faster calculation performance in some cases.

Read More:

How to Transpose a Matrix in Python?

This is easier to understand when you see an example of it, so check out the one below.

Let’s say that your original matrix looks like this:

x = [[1,2][3,4][5,6]]

In that matrix, there are two columns. The first is made up of 1, 3, and 5, and the second is 2, 4, and 6. When you transpose the matrix, the columns become the rows. So a transposed version of the matrix above would look as follows:

y = [[1,3,5][2,4,6]]

So the result is still a matrix, but now it’s organized differently, with different values in different places.

To transposes a matrix on your own in Python is actually pretty easy. It can be done really quickly using the built-in zip function. Here’s how it would look:

matrix = [[1,2][3.4][5,6]]

Your output for the code above would simply be the transposed matrix. Super easy.

Algorithm to print the transpose of a matrix

Step 1: In the first step, the user needs to create an empty input matrix to store the elements of the input matrix.

Step 2: Next, input the number of rows and number of columns

Step 3: Now, place the Input row and column elements

Step 4: Append the user input row and column elements into an empty matrix

Step 5: Create an empty transpose matrix to store the output

Step 6: Append row-wise elements of the input matrix to the column of the empty transpose matrix

Step 7: Append column-wise elements of the input matrix to the row of the transpose matrix

Step 8: Print transpose matrix

Step 9: End

Must Check:

Python Program to find Transpose of a Matrix

The following program illustration finds the transpose of A[][] and stores the result in B[][], we can alter N for different dimensions.

For Square Matrix:

# Python3 Program to find
# transpose of a matrix
N = 4
# This function stores
# transpose of A[][] in B[][]
def transpose(A,B):
    for i in range(N):
        for j in range(N):
            B[i][j] = A[j][i]
# driver code
A = [ [1, 1, 1, 1],
    [2, 2, 2, 2],
    [3, 3, 3, 3],
    [4, 4, 4, 4]]
B = A[:][:] # To store result
transpose(A, B)
print("Result matrix is")
for i in range(N):
    for j in range(N):
        print(B[i][j], " ", end='')


Result matrix is
1 2 3 4 
2 2 3 4 
3 3 3 4 
4 4 4 4

Transpose a Matrix in Single Line in Python

The task of performing Transpose of a matrix is very easy in python by using a nested loop. Also, there are few other interesting ways to do the task in a single line in python programming. First, have a look at the below instance on Matrix transpose using nested loop.

Matrix Transpose using Nested Loop

# Program to transpose a matrix using a nested loop

X = [[12,7],
    [4 ,5],
    [3 ,8]]

result = [[0,0,0],

# iterate through rows
for i in range(len(X)):
   # iterate through columns
   for j in range(len(X[0])):
       result[j][i] = X[i][j]

for r in result:


[12, 4, 3]
[7, 5, 8]

The following are the ways to Transpose a matric in a single line in python:

  1. Using Nested List Comprehension
  2. Using Zip
  3. Using NumPy

Matrix Transpose using Nested List Comprehension

''' Program to transpose a matrix using list comprehension'''

X = [[12,7],
    [4 ,5],
    [3 ,8]]

result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]

for r in result:


Here, we have utilized nested list comprehension to iterate over each element in the matrix. The result will be the same as the above program.

Transposing a Matrix with Numpy

You can also transpose a matrix using NumPy, but in order to do that, NumPy has to be installed, and it’s a little bit more of a clunkier way of achieving the same goal as the zip function achieves very quickly and easily. If you have a NumPy array, you can straightaway call thetranspose() method on the NumPy array to get the transpose of the array. Let’s look at the below example

NumPy Transpose Matrix Function Example

# You need to install numpy in order to import it
# Numpy transpose returns a similar result when 
# applied on 1D matrix
import numpy 

Or else, you can simply use “.T” after the variable. Let’s see it from below:

# You need to install numpy in order to import it
import numpy as np
matrix = np.array([[1,2,3],[4,5,6]])


[[1 2 3]
[4 5 6]]

[[1 4]
[2 5]
[3 6]]

Note: “.T” only runs on numpy arrays


Now that you understand what is transposing matrices and how to do it for yourself, give it a try in your own code, and see what types of versatility and functionalities it adds to your own custom functions and code snippets. Understanding how to use and manipulate matrices can really add a lot of dimension to your coding skills, and it’s a good tool to have in your back pocket.

Leave a Reply

Your email address will not be published. Required fields are marked *