Write a program in Python to transpose the index and columns in a given DataFrame

Transposing a DataFrame means swapping its rows and columns. Python provides several methods to transpose DataFrames, from using Pandas built-in methods to implementing custom solutions with list comprehensions or zip operations.

Using DataFrame.transpose() or .T

The most straightforward approach is using Pandas' built-in transpose() method or its shorthand .T property ?

import pandas as pd

data = [[1, 2, 3], [4, 5, 6]]
df = pd.DataFrame(data)
print("Original DataFrame:")
print(df)

print("\nTransposed DataFrame:")
print(df.transpose())
Original DataFrame:
   0  1  2
0  1  2  3
1  4  5  6

Transposed DataFrame:
   0  1
0  1  4
1  2  5
2  3  6

Using List Comprehension

You can manually transpose using nested list comprehension to iterate through rows and columns ?

import pandas as pd

data = [[1, 2, 3], [4, 5, 6]]
df = pd.DataFrame(data)
print("Original DataFrame:")
print(df)

# Manual transpose using list comprehension
result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))]
df_transposed = pd.DataFrame(result)
print("\nTransposed DataFrame:")
print(df_transposed)
Original DataFrame:
   0  1  2
0  1  2  3
1  4  5  6

Transposed DataFrame:
   0  1
0  1  4
1  2  5
2  3  6

Using zip() Function

The zip() function with unpacking operator * provides an elegant way to transpose data ?

import pandas as pd

data = [[1, 2, 3], [4, 5, 6]]
df = pd.DataFrame(data)
print("Original DataFrame:")
print(df)

# Transpose using zip
result = list(zip(*data))
df_transposed = pd.DataFrame(result)
print("\nTransposed DataFrame:")
print(df_transposed)
Original DataFrame:
   0  1  2
0  1  2  3
1  4  5  6

Transposed DataFrame:
   0  1
0  1  4
1  2  5
2  3  6

Comparison

Method Performance Readability Best For
df.T / transpose() Fastest Excellent Standard DataFrame operations
List comprehension Slower Moderate Learning/custom logic
zip(*data) Good Good Working with raw data lists

Conclusion

Use df.T or df.transpose() for efficient DataFrame transposition. Manual methods like list comprehension and zip are useful for understanding the underlying logic or when working with raw data structures.

Updated on: 2026-03-25T16:15:14+05:30

365 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements