Saturday, October 11, 2025
HomeLanguagesHow to convert index in a column of the Pandas dataframe?

How to convert index in a column of the Pandas dataframe?

Each row in a dataframe (i.e level=0) has an index value i.e value from 0 to n-1 index location and there are many ways to convert these index values into a column in a pandas dataframe. First, let’s create a Pandas dataframe. Here, we will create a Pandas dataframe regarding student’s marks in a particular subject with columns roll number, name, score, grade, and subject.

Example:

Python3




# importing the pandas library as pd
import pandas as pd    
 
 
# Creating the dataframe Ab
AB = pd.DataFrame({'Roll Number': ['9917102206', '9917102250',
                                   '9917102203', '9917102204',
                                   '9917102231'],
                   'Name': ['TANYA', 'PREETIKA', 'KUSHAGRA',
                            'PRAKHAR','ASHISH'],
                   'Score': [99, 98, 50, 45,97],
                   'Grade': ['A+', 'A+', 'C+', 'C','A'],
                   'Subject': ['Operating Systems', 'Operating Systems',
                               'Operating Systems', 'Operating Systems',
                               'Operating Systems']})
   
# Printing the dataframe
AB


 

 

Output:

 

DATA FRAME CREATED

 

Method 1: Creating a new Index column

 

Here we will learn to create a new column in the existing dataframe as an index and add index value of each row(level=0) to that column.

 

Python3




# importing the pandas library as pd
import pandas as pd    
 
 
# Creating the dataframe Ab
AB = pd.DataFrame({'Roll Number': ['9917102206', '9917102250',
                                   '9917102203', '9917102204',
                                   '9917102231'],
                   'Name': ['TANYA', 'PREETIKA', 'KUSHAGRA',
                            'PRAKHAR','ASHISH'],
                   'Score': [99, 98, 50, 45,97],
                   'Grade': ['A+', 'A+', 'C+', 'C','A'],
                   'Subject': ['Operating Systems', 'Operating Systems',
                               'Operating Systems', 'Operating Systems',
                               'Operating Systems']})
   
     
# Adding a new index column to existing
# data frame and passing index value  
AB['index'] = AB.index
 
# Printing the dataframe
AB


Output:

Here, we added a new column “index” to “AB” dataframe using the index value of each row in the dataframe as an argument value and converted index to the column.

Method 2: Using reset_index() method and to_string() method

Here we will sue reset_index() method to convert the index to a column along with inplace argument to reflect the change continuously and we will use the to_string() method for hiding the index value shown by default whenever a dataframe is printed.

Python3




#CREATING A DATAFRAME FOR STUDENTS PORTFOLIO
 
# importing the pandas library as pd
import pandas as pd    
# Creating the dataframe Ab
AB = pd.DataFrame({'Roll Number': ['9917102206', '9917102250', '9917102203', '9917102204','9917102231'],
                   'Name': ['TANYA', 'PREETIKA', 'KUSHAGRA', 'PRAKHAR','ASHISH'],
                   'Score': [99, 98, 50, 45,97],
                   'Grade': ['A+', 'A+', 'C+', 'C','A'],
                   'Subject': ['Operating Systems', 'Operating Systems', 'Operating Systems', 'Operating Systems','Operating Systems']})
   
     
# importing the pandas library as pd
import pandas as pd    
 
 
# Creating the dataframe Ab
AB = pd.DataFrame({'Roll Number': ['9917102206', '9917102250',
                                   '9917102203', '9917102204',
                                   '9917102231'],
                   'Name': ['TANYA', 'PREETIKA', 'KUSHAGRA',
                            'PRAKHAR','ASHISH'],
                   'Score': [99, 98, 50, 45,97],
                   'Grade': ['A+', 'A+', 'C+', 'C','A'],
                   'Subject': ['Operating Systems', 'Operating Systems',
                               'Operating Systems', 'Operating Systems',
                               'Operating Systems']})
   
     
# USING RESET_INDEX METHOD
# Adding a new index column to AB dataframe
AB.reset_index(level=0, inplace=True)
 
# HIDING THE DEFAULT INDEX VALUES AND
# PRINTING DATAFRAME
print( AB.to_string(index=False))


Output:

USING RESET_INDEX METHOD

Here we applied reset_index method to given data frame and make the default index value (equal to 0) by passing it as an argument to to_string method.

Method 3: Using multi_index

Here We will learn to create columns from a dataframe having multi-index.

Example 1: For multi-index to column

Python3




# importing the pandas library as pd
import pandas as pd    
 
# ADDING MULTI INDEX TO DATA FRAME
new_index = pd.MultiIndex.from_tuples([('E4','ECE'),
                                       ('E5','ECE'),
                                       ('E6','ECE'),
                                       ('E7','ECE'),
                                       ('E8','ECE')],
                                       names=['BATCH','BRANCH'])
# Creating the dataframe AB
data =({'Roll Number': ['9917102206', '9917102250',
                        '9917102203', '9917102204',
                        '9917102231'],
                   'Name': ['TANYA', 'PREETIKA', 'KUSHAGRA',
                            'PRAKHAR','ASHISH'],
                   'Score': [99, 98, 50, 45,97],
                   'Grade': ['A+', 'A+', 'C+', 'C','A'],
                   'Subject': ['Operating Systems', 'Operating Systems',
                               'Operating Systems', 'Operating Systems',
                               'Operating Systems']})
   
# COMBING DATA FRAME AND MULTI INDEX
# VALUES AND FORMING DATA FRAME
AB = pd.DataFrame(data, columns = ['Roll Number','Name','Score','Grade','Subject'],
                  index=new_index)
 
# MAKING MULTI INDEX NOW A PART OF COLUMN
# OF DATAFRAME
AB.reset_index(inplace=True)
 
AB


 

 

Output:

 

 

Example 2: For making specific column from multi-index as a column of dataframe

 

Python3




# importing the pandas library as pd
import pandas as pd    
 
# ADDING MULTI INDEX TO DATA FRAME
new_index = pd.MultiIndex.from_tuples([('E4','ECE'),
                                       ('E5','ECE'),
                                       ('E6','ECE'),
                                       ('E7','ECE'),
                                       ('E8','ECE')],
                                       names=['BATCH','BRANCH'])
# Creating the dataframe AB
data =({'Roll Number': ['9917102206', '9917102250',
                        '9917102203', '9917102204',
                        '9917102231'],
                   'Name': ['TANYA', 'PREETIKA', 'KUSHAGRA',
                            'PRAKHAR','ASHISH'],
                   'Score': [99, 98, 50, 45,97],
                   'Grade': ['A+', 'A+', 'C+', 'C','A'],
                   'Subject': ['Operating Systems', 'Operating Systems',
                               'Operating Systems', 'Operating Systems',
                               'Operating Systems']})
   
# COMBING DATA FRAME AND MULTI INDEX
# VALUES AND FORMING DATA FRAME
AB = pd.DataFrame(data, columns = ['Roll Number','Name','Score','Grade','Subject'],
                  index=new_index)
 
# MAKING SPECIFIC COLUMN OF MULTI INDEX
# NOW A PART OF COLUMN OF DATAFRAME
AB.reset_index(inplace=True,level=['BATCH'])
 
# BATCH INDEX IS NOW A COLUMN OF DATAFRAME
AB


Output:

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32350 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6720 POSTS0 COMMENTS
Nicole Veronica
11882 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11941 POSTS0 COMMENTS
Shaida Kate Naidoo
6839 POSTS0 COMMENTS
Ted Musemwa
7101 POSTS0 COMMENTS
Thapelo Manthata
6794 POSTS0 COMMENTS
Umr Jansen
6794 POSTS0 COMMENTS