首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python更改索引数据

Python更改索引数据
EN

Stack Overflow用户
提问于 2016-12-25 07:59:47
回答 2查看 894关注 0票数 1

我有一个如下所示的dataframe,它有一个多索引列:

代码语言:javascript
复制
              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

我想重命名第二个索引的值,并在其中添加一个标题:

代码语言:javascript
复制
       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

我试着操纵多个索引,但没成功。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-25 08:13:09

有一种方法

代码语言:javascript
复制
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级重置索引。

代码语言:javascript
复制
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

替换列中的值。

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2016-12-25 09:04:48

使用pd.DataFrame.rename_axis

代码语言:javascript
复制
df.rename_axis([None, 'NEW_TITLE'])

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41319573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档