📌  相关文章
📜  如何在 Pandas Dataframe 中将索引转换为列?

📅  最后修改于: 2022-05-13 01:54:20.400000             🧑  作者: Mango

如何在 Pandas Dataframe 中将索引转换为列?

Pandas是一个强大的工具,用于数据分析,构建在Python库之上。 Pandas 库使用户能够有效且高效地创建和操作数据框(数据表)和时间序列。这些数据框可用于训练和测试机器学习模型以及分析数据。

将索引转换为列

默认情况下,数据框的每一行都有一个索引值。数据帧中的行按顺序分配从 0 到(行数 - 1)的索引值,每一行都有一个索引值。有很多方法可以将索引转换为 pandas 数据框中的列。让我们创建一个数据框。

Python3
# importing the pandas library as pd
import pandas as pd
  
  
# Creating the dataframe df
df = pd.DataFrame({'Roll Number': ['20CSE29', '20CSE49', '20CSE36', '20CSE44'],
                   'Name': ['Amelia', 'Sam', 'Dean', 'Jessica'],
                   'Marks In Percentage': [97, 90, 70, 82],
                   'Grade': ['A', 'A', 'C', 'B'],
                   'Subject': ['Physics', 'Physics', 'Physics', 'Physics']})
  
# Printing the dataframe
df


Python3
import pandas as pd
  
  
df = pd.DataFrame({'Roll Number': ['20CSE29', '20CSE49', '20CSE36', '20CSE44'],
                   'Name': ['Amelia', 'Sam', 'Dean', 'Jessica'],
                   'Marks In Percentage': [97, 90, 70, 82],
                   'Grade': ['A', 'A', 'C', 'B'],
                   'Subject': ['Physics', 'Physics', 'Physics', 'Physics']})
  
# Printing the dataframe
df['index'] = df.index
df


Python3
import pandas as pd
  
  
df = pd.DataFrame({'Roll Number': ['20CSE29', '20CSE49', '20CSE36', '20CSE44'],
                   'Name': ['Amelia', 'Sam', 'Dean', 'Jessica'],
                   'Marks In Percentage': [97, 90, 70, 82],
                   'Grade': ['A', 'A', 'C', 'B'],
                   'Subject': ['Physics', 'Physics', 'Physics', 'Physics']})
  
# Printing the dataframe
df.reset_index(level=0, inplace=True)
df


输出:

方法一:最简单的方法是创建一个新列,并使用 Dataframe.index函数将每一行的索引传递到该列中。

Python3

import pandas as pd
  
  
df = pd.DataFrame({'Roll Number': ['20CSE29', '20CSE49', '20CSE36', '20CSE44'],
                   'Name': ['Amelia', 'Sam', 'Dean', 'Jessica'],
                   'Marks In Percentage': [97, 90, 70, 82],
                   'Grade': ['A', 'A', 'C', 'B'],
                   'Subject': ['Physics', 'Physics', 'Physics', 'Physics']})
  
# Printing the dataframe
df['index'] = df.index
df

输出:

方法2:我们也可以使用Dataframe.reset_index函数将索引转换为列。 inplace 参数反映了数据帧中的更改以保持永久状态。

Python3

import pandas as pd
  
  
df = pd.DataFrame({'Roll Number': ['20CSE29', '20CSE49', '20CSE36', '20CSE44'],
                   'Name': ['Amelia', 'Sam', 'Dean', 'Jessica'],
                   'Marks In Percentage': [97, 90, 70, 82],
                   'Grade': ['A', 'A', 'C', 'B'],
                   'Subject': ['Physics', 'Physics', 'Physics', 'Physics']})
  
# Printing the dataframe
df.reset_index(level=0, inplace=True)
df

输出: