Как преобразовать индекс в столбце фрейма данных Pandas?

Опубликовано: 27 Марта, 2022

Каждая строка в фрейме данных (т.е. level = 0) имеет значение индекса, т. Е. Значение от 0 до n-1 местоположения индекса, и есть много способов преобразовать эти значения индекса в столбец во фрейме данных pandas. Во-первых, давайте создадим фрейм данных Pandas. Здесь мы создадим фреймворк Pandas относительно оценок учащихся по определенному предмету с номерами столбцов, именем, оценкой, оценкой и предметом.

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

Выход:

РАМКА ДАННЫХ СОЗДАНА

Метод 1. Создание нового столбца индекса

Здесь мы научимся создавать новый столбец в существующем фрейме данных в качестве индекса и добавлять значение индекса каждой строки (уровень = 0) в этот столбец.

 

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

Выход:

Здесь мы добавили новый столбец «index» к кадру данных «AB», используя значение индекса каждой строки в кадре данных в качестве значения аргумента, и преобразовали индекс в столбец.

Метод 2: Использование reset_index () метод и метод to_string ()

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))

Выход:

ИСПОЛЬЗОВАНИЕ МЕТОДА RESET_INDEX

Здесь мы применили метод reset_index к заданному фрейму данных и сделали значение индекса по умолчанию (равное 0), передав его в качестве аргумента методу to_string.

Метод 3: Использование 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

Выход:

Пример 2: для создания определенного столбца из мультииндекса в качестве столбца фрейма данных

 

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

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.