📜  如何更改数据框python中的索引(1)

📅  最后修改于: 2023-12-03 15:38:48.581000             🧑  作者: Mango

如何更改数据框 Python 中的索引

在 Pandas 中,数据框(DataFrame)对象中的索引非常重要,它可以用来标识每个数据行的唯一性。在某些情况下,可能需要对数据框的索引进行修改。本文将介绍如何在 Python 中更改数据框的索引。

1. 使用 set_index 方法更改索引

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
2. 直接修改索引

除了使用 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
3. 重置索引

有时候,可能需要将数据框的索引重置为一个从 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
4. 小结

本文介绍了三种在 Python Pandas 中更改数据框索引的方法,包括使用 set_index() 方法、直接修改索引和重置索引。需要根据实际需求选择合适的方法。