Pandas transpose()
function is used to transpose rows(indices) into columns and columns into rows in a given DataFrame. It returns transposed DataFrame by converting rows of the original DataFrame as columns and vice versa.
In this article, I will explain the concept of Pandas transpose()
function and using this syntax and parameters how we can transpose the given DataFrame in several ways.
1. Quick Examples of Transpose DataFrame
If you are in hurry, below are some quick examples of how to transpose DataFrame.
# Quick examples of transpose dataframe
# Example 1: Transpose the rows as columns
transposed_df = df.transpose()
# Example 2: Transpose single column of DataFrame
technologies= {'Fee' :[22000,25000,23000,24000,26000]}
df = pd.DataFrame(technologies)
transposed_df = df.transpose()
# Example 3: Transpose DataFrame without index
transposed_df = df.set_index('Courses').transpose()
# Example 4: Transpose the DataFrame
transposed_df = df.transpose()
# Check the dtype of transposed DataFrame
print(transposed_df.dtypes)
2. Syntax of transpose()
Below is the syntax of Pandas transpose()
# Syntax of transpose()
DataFrame.transpose(*args, copy=False)
2.1 Parameters of transpose()
Following are the parameters of transpose() function.
copy:
This is a boolean parameter, which is optional. Ifcopy
is set toTrue
, it returns a copy of the transposed DataFrame. If set toFalse
(default), it returns a view on the original DataFrame.*args, **kwargs:
This allows you to pass specific axes to transpose. For example, you can passaxes=(1, 0)
to swap both rows and columns. By default, it transposes the DataFrame along all axes.
2.2 Return Value
It returns transposed DataFrame.
3. Pandas transpose() Usage
Pandas transpose()
function is used to interchange the axes of a DataFrame, in other words converting columns to rows and rows to columns. In some situations we want to interchange the data in a DataFrame based on axes, In that situation, Pandas library provides transpose()
function. Transpose means the process of exchanging axes labels of DataFrame.
Let’s create a Pandas DataFrame with a Python dictionary of lists, pandas DataFrame columns names Courses
, Fee
, Duration
, Discount
.
# Create DataFrame
import pandas as pd
import numpy as np
technologies= {
'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
'Fee' :[22000,25000,23000,24000,26000],
'Duration':['30days','50days','35days', '40days','35days'],
'Discount':[1000,2300,1000,1200,2500]
}
df = pd.DataFrame(technologies, index = ['a', 'b', 'c', 'd', 'e'] )
print("Create DataFrame:\n",df)
Yields below output.
4. Transpose DataFrame rows to Columns
Apply Pandas transpose()
function over the dataframe then, this syntax will interchange rows as columns and columns as rows and it returns transposed DataFrame, where the rows are columns of the original DataFrame and columns, are rows of the original DataFrame.
# Transpose the rows as columns
transposed_df = df.transpose()
print("Transposed DataFrame:\n",transposed_df)
Yields below output.
If the original DataFrame has mixed dtypes then, we will get a object dtype of transposed DataFrame.
# Check the dtype of DataFrame
print(df.dtypes)
# Output:
# Courses object
# Fee int64
# Duration object
# Discount int64
# dtype: object
# Check the dtype of transposed DataFrame
print(transposed_df.dtypes)
# Output:
# a object
# b object
# c object
# d object
# e object
# dtype: object
When we have a homogeneous dtype of the original DataFrame then, we will get a transposed DataFrame with the same dtype. Let’s check whether our DataFrame can contain homogeneous dtype or not. If it contains the same dtype, its transposed dtype will also contain the same dtype.
Let’s Create homogeneous dtype of DataFrame, then apply transpose()
function.
# Create homogeneous dtype of DataFrame
technologies= {'Fee' :[22000,25000,23000,24000,26000],
'Discount':[1000,2300,1000,1200,2500]
}
df = pd.DataFrame(technologies)
# Check the dtype of DataFrame
print(df.dtypes)
# Output:
# Fee int64
# Discount int64
# dtype: object
# Transpose the DataFrame
transposed_df = df.transpose()
# Check the dtype of transposed DataFrame
print(transposed_df.dtypes)
# Output:
# 0 int64
# 1 int64
# 2 int64
# 3 int64
# 4 int64
# dtype: object
5. Transpose the Specified Column of Pandas
So far, we have learned how to transpose the whole Dataframe using the transpose()
function. In this example, we will learn how to transpose specified column of a given DataFrame using this function. Let’s see how it transpose,
# Transpose single column of DataFrame
technologies= {'Fee' :[22000,25000,23000,24000,26000]}
df = pd.DataFrame(technologies)
print(df)
print("#DataFrame After Transpose...")
transposed_df = df.transpose()
print(transposed_df)
Yields below output.
# Output:
Fee
0 22000
1 25000
2 23000
3 24000
4 26000
# DataFrame After Transpose...
0 1 2 3 4
Fee 22000 25000 23000 24000 26000
6. Transpose DataFrame without index
Using the transpose()
function with the help of set_index()
we can transpose a given DataFrame without an index. Below syntax will return the transposed DataFrame with no index. Let’s apply the above function on DataFrame.
# Transpose DataFrame without index
transposed_df = df.set_index('Courses').transpose()
print(transposed_df)
Yields below output.
# Output:
Courses Spark PySpark Hadoop Python Pandas
Fee 22000 25000 23000 24000 26000
Duration 30days 50days 35days 40days 35days
Discount 1000 2300 1000 1200 2500
Frequently Asked Questions on How to Transpose() DataFrame in Pandas
The transpose()
function in Pandas is a method that is used to interchange rows and columns in a DataFrame. It effectively flips the DataFrame along its main diagonal, swapping rows and columns. In other words, the rows become columns, and the columns become rows.
To use the transpose()
function on a DataFrame in Pandas, you can call the method on the DataFrame object. Additionally, you can use the .T
attribute as a shorthand for transposing.
Besides using the transpose()
method, you can also use the .T
attribute to achieve the same result. Both methods are equivalent and can be used interchangeably. Here’s an example using the .T
attribute.
The transpose()
function does not modify the original DataFrame. Instead, it returns a new transposed DataFrame. If you want to modify the original DataFrame, you need to assign the result back to the original DataFrame or use the .T
attribute in place.
You can transpose specific rows or columns in a DataFrame by selecting those rows or columns first and then applying the transpose()
function.
While the transpose()
function is generally efficient, transposing large DataFrames may have performance implications. It’s recommended to be mindful of memory usage and processing time, especially when working with extensive datasets.
Conclusion
In this article, I have explained the concept of Pandas transpose()
function and using this syntax and parameters how we can transpose the given DataFrame in several ways with examples.
Happy learning!!
Related Articles
- Pandas Explode Multiple Columns
- How to Transpose Matrix in NumPy
- How to transpose() NumPy Array in Python?
- How to Pivot and Unpivot a Spark DataFrame
- Pandas Convert Column to Int in DataFrame
- Get First N row From Pandas DataFrame
- Get unique rows in Pandas DataFrame
- How to get row numbers in a Pandas DataFrame?
- Pandas Difference Between Two DataFrames
- Pandas DataFrame isna() Function
- Use pandas.to_numeric() Function
- Pandas DataFrame insert() Function
- Pandas Add Column with Default Value
- Compare Two DataFrames Row by Row