如何修改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 中将索引转换为列