Reset Index in Pandas Dataframe (original) (raw)

Last Updated : 30 Nov, 2023

Let’s discuss how to reset the index in Pandas DataFrame. Often We start with a huge data frame in Pandas and after manipulating/filtering the data frame, we end up with a much smaller data frame. When we look at the smaller data frame, it might still carry the row index of the original data frame. If the original index is _numbers, now we have indexes that are not continuous.

Reset Index Syntax

**Syntax :

DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=”)

Well, pandas have reset_index() function. So to reset the index to the default integer index beginning at 0, We can simply use the reset_index() function. So let’s see the different ways we can reset the index of a DataFrame.

What is Reset Index ?

In Python programming language and the pandas library, the reset_index method is used to reset the index of a data frame. When you perform operations on a DataFrame in pandas, the index of the DataFrame may change or become unordered. The reset_index method allows you to reset the index to the default integer-based index and reset the index in Pandas DataFrame optionally removing the current index.

Reset Index in Pandas Dataframe

There are various methods with the help of which we can Reset the Index in Pandas Dataframe, we are explaining some generally used methods with examples.

**Creating Pandas DataFrame

Here we are creating a sample Pandas Dataframe:

Python3

import pandas as pd

data = { 'Name' :[ 'Jai' , 'Princi' , 'Gaurav' , 'Anuj' , 'Geeku' ],

`` 'Age' :[ 27 , 24 , 22 , 32 , 15 ],

`` 'Address' :[ 'Delhi' , 'Kanpur' , 'Allahabad' , 'Kannauj' , 'Noida' ],

`` 'Qualification' :[ 'Msc' , 'MA' , 'MCA' , 'Phd' , '10th' ] }

df = pd.DataFrame(data)

print (df)

**Output:

 ****Name  Age    Address Qualification**

0 Jai 27 Delhi Msc 1 Princi 24 Kanpur MA 2 Gaurav 22 Allahabad MCA 3 Anuj 32 Kannauj Phd 4 Geeku 15 Noida 10th

**Create Own Index without Removing Default Index

In this example below code uses the pandas library to create a DataFrame from employee data. It defines a dictionary, sets a custom index, converts it to a DataFrame, resets the index, and prints the result.

Python3

import pandas as pd

data = { 'Name' :[ 'Jai' , 'Princi' , 'Gaurav' , 'Anuj' , 'Geeku' ],

`` 'Age' :[ 27 , 24 , 22 , 32 , 15 ],

`` 'Address' :[ 'Delhi' , 'Kanpur' , 'Allahabad' , 'Kannauj' , 'Noida' ],

`` 'Qualification' :[ 'Msc' , 'MA' , 'MCA' , 'Phd' , '10th' ] }

index = [ 'a' , 'b' , 'c' , 'd' , 'e' ]

df = pd.DataFrame(data, index)

df.reset_index(inplace = True )

print (df)

**Output:

**index Name Age Address Qualification 0 a Jai 27 Delhi Msc 1 b Princi 24 Kanpur MA 2 c Gaurav 22 Allahabad MCA 3 d Anuj 32 Kannauj Phd 4 e Geeku 15 Noida 10th

Create your Own Index and Remove Default Index

In this example below code uses the pandas library to create a DataFrame from employee data stored in a dictionary. It sets a custom index (‘a’ to ‘e’) and then prints the resulting DataFrame, where the custom index replaces the default numeric index.

Python3

import pandas as pd

data = { 'Name' :[ 'Jai' , 'Princi' , 'Gaurav' , 'Anuj' , 'Geeku' ],

`` 'Age' :[ 27 , 24 , 22 , 32 , 15 ],

`` 'Address' :[ 'Delhi' , 'Kanpur' , 'Allahabad' , 'Kannauj' , 'Noida' ],

`` 'Qualification' :[ 'Msc' , 'MA' , 'MCA' , 'Phd' , '10th' ] }

index = [ 'a' , 'b' , 'c' , 'd' , 'e' ]

df = pd.DataFrame(data, index)

print (df)

**Output:

 ****Name  Age    Address Qualification**

a Jai 27 Delhi Msc b Princi 24 Kanpur MA c Gaurav 22 Allahabad MCA d Anuj 32 Kannauj Phd e Geeku 15 Noida 10th

Reset Own Index and Create Default Index as Index

In this example below code creates a Pandas DataFrame from a dictionary of employee data with a custom index (‘a’ to ‘e’). Afterward, it resets the index, replacing the custom index with the default numeric index, and then prints the resulting frame.

Python3

import pandas as pd

data = { 'Name' :[ 'Jai' , 'Princi' , 'Gaurav' , 'Anuj' , 'Geeku' ],

`` 'Age' :[ 27 , 24 , 22 , 32 , 15 ],

`` 'Address' :[ 'Delhi' , 'Kanpur' , 'Allahabad' , 'Kannauj' , 'Noida' ],

`` 'Qualification' :[ 'Msc' , 'MA' , 'MCA' , 'Phd' , '10th' ] }

index = [ 'a' , 'b' , 'c' , 'd' , 'e' ]

df = pd.DataFrame(data, index)

df.reset_index(inplace = True , drop = True )

print (df)

**Output :

 ****Name  Age    Address Qualification**

0 Jai 27 Delhi Msc 1 Princi 24 Kanpur MA 2 Gaurav 22 Allahabad MCA 3 Anuj 32 Kannauj Phd 4 Geeku 15 Noida 10th

Make a Column as Index and Removing Default Index

In this example below code creates a Pandas DataFrame from employee data, sets a custom index, and then changes the index to the ‘Age’ column while removing the default numeric index. The final data frame is printed twice.

Python3

import pandas as pd

data = { 'Name' :[ 'Jai' , 'Princi' , 'Gaurav' , 'Anuj' , 'Geeku' ],

`` 'Age' :[ 27 , 24 , 22 , 32 , 15 ],

`` 'Address' :[ 'Delhi' , 'Kanpur' , 'Allahabad' , 'Kannauj' , 'Noida' ],

`` 'Qualification' :[ 'Msc' , 'MA' , 'MCA' , 'Phd' , '10th' ] }

index = [ 'a' , 'b' , 'c' , 'd' , 'e' ]

df = pd.DataFrame(data, index)

df.set_index([ 'Age' ], inplace = True )

print (df)

**Output:

   ****Name    Address Qualification**

Age
27 Jai Delhi Msc 24 Princi Kanpur MA 22 Gaurav Allahabad MCA 32 Anuj Kannauj Phd 15 Geeku Noida 10th

Make a Column of Dataframe as an Index Without Removing Index

In this example below code creates a DataFrame from employee data, initially using a custom index. Then, it sets the ‘Age’ column as the index, resets the index without removing the default numeric index, and finally prints the resulting DataFrame.

Python3

import pandas as pd

data = { 'Name' :[ 'Jai' , 'Princi' , 'Gaurav' , 'Anuj' , 'Geeku' ],

`` 'Age' :[ 27 , 24 , 22 , 32 , 15 ],

`` 'Address' :[ 'Delhi' , 'Kanpur' , 'Allahabad' , 'Kannauj' , 'Noida' ],

`` 'Qualification' :[ 'Msc' , 'MA' , 'MCA' , 'Phd' , '10th' ] }

index = [ 'a' , 'b' , 'c' , 'd' , 'e' ]

df = pd.DataFrame(data, index)

df.set_index([ 'Age' ], inplace = True )

df.reset_index(level = [ 'Age' ], inplace = True )

print (df)

**Output:

**Age    Name    Address Qualification**

0 27 Jai Delhi Msc 1 24 Princi Kanpur MA 2 22 Gaurav Allahabad MCA 3 32 Anuj Kannauj Phd 4 15 Geeku Noida 10th