Python更改索引数据帧

Python更改索引数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个看起来像这样的数据框,带有一个多索引列: TITLE1 TITLE2 TITLE3 idx1 idx2 val1 val2 val3 idx3 va11 val2 val3 idx3 va11 val2 val3 idx3 va11 val2 val3 idx2 idx4 val1 val2 val3 i

我有一个看起来像这样的数据框,带有一个多索引列:

              TITLE1  TITLE2  TITLE3
idx1   idx2    val1    val2    val3
       idx3    va11    val2    val3
       idx3    va11    val2    val3
       idx3    va11    val2    val3
idx2   idx4    val1    val2    val3
       idx5    va11    val2    val3
       idx6    va11    val2    val3
       idx7    va11    val2    val3
我想重命名第二个索引的值并为其添加标题:

       NEW_TITLE  TITLE1  TITLE2  TITLE3
idx1     new1      val1    val2    val3
         new3      va11    val2    val3
         new3      va11    val2    val3
         new3      va11    val2    val3
idx2     new4      val1    val2    val3
         new5      va11    val2    val3
         new6      va11    val2    val3
         new7      va11    val2    val3
我试图操纵multindex,但没有成功

有什么想法吗?

这里有一种方法

In [93]: df
Out[93]:
          TITLE1 TITLE2 TITLE3
A    B
idx1 idx2   val1   val2   val3
     idx3   va11   val2   val3
     idx3   va11   val2   val3
     idx3   va11   val2   val3
idx2 idx4   val1   val2   val3
     idx5   va11   val2   val3
     idx6   va11   val2   val3
     idx7   va11   val2   val3
在级别1上重置索引

In [94]: dff = df.reset_index(level=1)

In [95]: dff
Out[95]:
         B TITLE1 TITLE2 TITLE3
A
idx1  idx2   val1   val2   val3
idx1  idx3   va11   val2   val3
idx1  idx3   va11   val2   val3
idx1  idx3   va11   val2   val3
idx2  idx4   val1   val2   val3
idx2  idx5   va11   val2   val3
idx2  idx6   va11   val2   val3
idx2  idx7   va11   val2   val3
替换列中的值

In [96]: dff['B'] = dff['B'].str.replace('idx', 'new')

In [97]: dff
Out[97]:
         B TITLE1 TITLE2 TITLE3
A
idx1  new2   val1   val2   val3
idx1  new3   va11   val2   val3
idx1  new3   va11   val2   val3
idx1  new3   va11   val2   val3
idx2  new4   val1   val2   val3
idx2  new5   va11   val2   val3
idx2  new6   va11   val2   val3
idx2  new7   va11   val2   val3
使用


可能重复的@gzc我有多索引,因此它不适用于meCheck顶部答案,其中包括多索引转换。在我的原始df中,我的索引没有标题,所以我如何才能像您那样:
dff['B']
df.rename_axis([None, 'NEW_TITLE'])