Как мне изменить часть имени индекса в python / pandas? - PullRequest
0 голосов
/ 06 мая 2019

Мне нужно изменить часть в индексе этого учебного набора данных со слова "low" на "down".

Я пытался найти некоторые решения, но в основном это было переименование всего индекса.Я просто пытаюсь переименовать небольшой раздел.

                         NUM          Npc      Value    
OOF_Mic.Y9_low_of_XX    +0.4206969    Nil     0.000666  
OOF_Mic.Y5_low_of_XX    +0.4206969    Nil     0.000666  
OOF_Mic.Y7_low_of_XX    +0.4206969    Nil     0.000666

Ответы [ 3 ]

1 голос
/ 06 мая 2019

Вы можете вызвать свой индекс с помощью DataFrame.index, и мы можем использовать str.replace для замены вашей low детали на down:

df.index = df.index.str.replace('low', 'down')

print(df)
                            NUM  Npc     Value
idx                                           
OOF_Mic.Y9_down_of_XX  0.420697  Nil  0.000666
OOF_Mic.Y5_down_of_XX  0.420697  Nil  0.000666
OOF_Mic.Y7_down_of_XX  0.420697  Nil  0.000666
0 голосов
/ 06 мая 2019

Я нашел два пути:

df.index = df.index.astype(str).str.replace('low', 'down')
df

    NUM Npc Value
OOF_Mic.Y9_down_of_XX   0.420697    Nil 0.000666
OOF_Mic.Y5_down_of_XX   0.420697    Nil 0.000666
OOF_Mic.Y7_down_of_XX   0.420697    Nil 0.000666

или

df1 = df.reset_index().rename(columns = {'index':'temp'})
df1.loc[:,'temp'] = df1.temp.astype(str).str.replace('low', 'down')
df1.set_index('temp')

NUM Npc Value
temp            
OOF_Mic.Y9_down_of_XX   0.420697    Nil 0.000666
OOF_Mic.Y5_down_of_XX   0.420697    Nil 0.000666
OOF_Mic.Y7_down_of_XX   0.420697    Nil 0.000666
0 голосов
/ 06 мая 2019

Попробуйте:

df.index = df.index.str.replace('_low_', '_down_')

, если вы уверены, что low никогда не появится где-либо еще, кроме пропуска _ в обоих.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...