📅  最后修改于: 2023-12-03 15:38:48.581000             🧑  作者: Mango
在 Pandas 中,数据框(DataFrame)对象中的索引非常重要,它可以用来标识每个数据行的唯一性。在某些情况下,可能需要对数据框的索引进行修改。本文将介绍如何在 Python 中更改数据框的索引。
Pandas 数据框对象提供了一个 set_index() 方法,可以使用它来更改数据框的索引。下面是一个使用 set_index() 方法来更改数据框索引的示例代码:
import pandas as pd
# 创建一个数据框对象
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]},
index=['a', 'b', 'c'])
# 输出原始数据框
print('原始数据框:')
print(df)
# 使用 set_index() 方法更改索引
df = df.set_index('A')
# 输出更改后的数据框
print('更改后的数据框:')
print(df)
在上面的例子中,创建了一个数据框对象 df,并使用 set_index() 方法将其索引更改为列 A。结果输出如下:
原始数据框:
A B C
a 1 4 7
b 2 5 8
c 3 6 9
更改后的数据框:
B C
A
1 4 7
2 5 8
3 6 9
除了使用 set_index() 方法外,还可以直接修改数据框对象的索引,例如:
import pandas as pd
# 创建一个数据框对象
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]},
index=['a', 'b', 'c'])
# 输出原始数据框
print('原始数据框:')
print(df)
# 直接修改索引
df.index = ['x', 'y', 'z']
# 输出更改后的数据框
print('更改后的数据框:')
print(df)
上面的例子中,直接修改了数据框 df 的索引为 ['x', 'y', 'z']。结果输出如下:
原始数据框:
A B C
a 1 4 7
b 2 5 8
c 3 6 9
更改后的数据框:
A B C
x 1 4 7
y 2 5 8
z 3 6 9
有时候,可能需要将数据框的索引重置为一个从 0 开始的新索引,可以使用 Pandas 中的 reset_index() 方法实现,例如:
import pandas as pd
# 创建一个数据框对象
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]},
index=['a', 'b', 'c'])
# 输出原始数据框
print('原始数据框:')
print(df)
# 重置索引为从 0 开始的新索引
df = df.reset_index(drop=True)
# 输出更改后的数据框
print('更改后的数据框:')
print(df)
上面的例子中,使用 reset_index() 方法将数据框的索引从原来的字母索引重置为从 0 开始的新索引。需要注意的是,参数 drop=True 是为了删除原来的索引列,如果不指定该参数,默认会生成一个新的索引列。结果输出如下:
原始数据框:
A B C
a 1 4 7
b 2 5 8
c 3 6 9
更改后的数据框:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
本文介绍了三种在 Python Pandas 中更改数据框索引的方法,包括使用 set_index() 方法、直接修改索引和重置索引。需要根据实际需求选择合适的方法。