如何在 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
输出: