Как изменить одно или несколько значений индекса в Pandas


Вы можете использовать следующий синтаксис для изменения одного значения индекса в кадре данных pandas:

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

#create DataFrame
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