如何在python/pandas中修改部分索引名?

如何在python/pandas中修改部分索引名?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我需要将这个实践数据集索引中的一部分从单词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.Y

我需要将这个实践数据集索引中的一部分从单词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

您可以使用DataFrame.index调用您的索引,我们可以使用str.replace替换down的低位部分:

尝试:

如果你确定low不会出现在其他任何地方,那就跳过这两个选项。

我找到了两种方法:

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
或:

df.index = df.index.str.replace('_low_', '_down_')
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