我有Dataframe个:

import pandas as pd
df = pd.DataFrame({'Hugo' : {'age' : 21, 'weight' : 75},
                   'Bertram': {'age' : 45, 'weight' : 65},
                   'Donald' : {'age' : 75, 'weight' : 85}}).T
df.index.names = ['name']


         age  weight
name                
Bertram   45      65
Donald    75      85
Hugo      21      75

我想将索引更改为第'age'列:

df.set_index('age', inplace=True)

     weight
age        
45       65
75       85
21       75

旧的索引列名丢失.有没有一种方法可以在不丢失原始索引列的情况下更改索引,并将旧列重新设置为"正常"列,使其看起来像这样?

     name       weight
age        
45   Bertram    65
75   Donald     85
21   Hugo       75

推荐答案

先用reset_index,然后用set_index:

df = df.reset_index().set_index('age')
print (df)
        name  weight
age                 
45   Bertram      65
75    Donald      85
21      Hugo      75

Python-3.x相关问答推荐

海象表达可以放在方括号中而不是括号中吗?

需要使用regex匹配字符串的帮助,直到最后一次出现开闭括号,开闭括号中的值是可选的

使用Pandas 阅读Excel定义的名称和单元格值(&Q;)

Pandas 中每行的最大值范围

S的两极是什么,相当于大Pandas 的`.ilo‘方法?

如何绘制交叉验证的AUROC并找到最佳阈值?

在Python中从列创建新行

Pandas教程:如何更新行内数值的位置

从一列字符串中提取子字符串并将它们放入列表中

拆分列表的元素并将拆分后的元素包含到列表中

如何在 histplot 中标记核密度估计

是否可以将多个 if 转换为数组?

从 yahoo Finance python 一次下载多只股票

请求:RecursionError:超出最大递归深度

UnicodeDecodeError:utf-8编解码器无法解码位置 1 的字节 0x8b:无效的起始字节,同时读取Pandas中的 csv 文件

获取嵌套字典的所有键

迭代dict值

如何调试垂死的 Jupyter Python3 内核?

用 numpy nan 查找列表的最大值

从 csv 中删除单行而不复制文件