如何修改pandas中的一个或多个索引值


您可以使用以下语法来修改 pandas DataFrame 中的单个索引值:

 df. rename (index={' Old_Value ':' New_Value '}, inplace= True )

并且可以使用以下语法一次修改多个索引值:

 df. rename (index={' Old1 ':' New1 ', ' Old2 ':' New2 '}, inplace= True )

以下示例展示了如何在实践中使用此语法。

示例 1:更改 Pandas DataFrame 中的索引值

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#make 'team' column the index column
df. set_index (' team ', inplace= True )

#view DataFrame
df

	points assists rebounds
team			
A 25 5 11
B 12 7 8
C 15 7 10
D 14 9 6
E 19 12 6
F 23 9 5
G 25 9 9
H 29 4 12

我们可以使用以下代码将索引列中的值“A”替换为“P”:

 #replace 'A' with 'P' in index
df. rename (index={' A ':' P '}, inplace= True )

#view updated DataFrame
df

        points assists rebounds
team			
P 25 5 11
B 12 7 8
C 15 7 10
D 14 9 6
E 19 12 6
F 23 9 5
G 25 9 9
H 29 4 12

请注意,原始索引中的“A”值已被替换,而所有其他值保持不变。

示例2:更改Pandas DataFrame中的多个索引值

假设我们有与之前相同的 pandas DataFrame:

 #view DataFrame
df

	points assists rebounds
team			
A 25 5 11
B 12 7 8
C 15 7 10
D 14 9 6
E 19 12 6
F 23 9 5
G 25 9 9
H 29 4 12

我们可以使用下面的代码来替换索引列中的“A”和“B”值:

 #replace 'A' with 'P' and replace 'B' with 'Q' in index
df. rename (index={' A ':' P ', ' B ':' Q '}, inplace= True )

#view updated DataFrame
df

	points assists rebounds
team			
P 25 5 11
Q 12 7 8
C 15 7 10
D 14 9 6
E 19 12 6
F 23 9 5
G 25 9 9
H 29 4 12

请注意,原始索引中的“A”和“B”值已被替换,而所有其他值保持不变。

您可以使用完全相同的语法来替换索引中任意数量的值。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何重置 Pandas DataFrame 中的索引
如何在 Pandas 中将列设置为索引
如何在 Pandas 中将索引转换为列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注