我有一个pandas DataFrame,其结构类似于:
Name Location Position Data1 Data2
Foo loc1 12345 present absent
Foo2 loc2 67890 absent present
其中Name
,Location
和Position
是MultiIndex级别。但是我需要重命名索引的一个单一级别:对于此示例,我需要将Foo2
更改为Bar
。
我认为DataFrame.rename()
会完成这项工作,但是如果我指定
new_df = old_df.rename(index={"Foo2": "Bar"})
它并没有真正改变索引,更糟糕的是,它使它变得平坦。
我正在寻找可能吗?还是我打了一只熊猫虫?
答案 0 :(得分:4)
rename
函数应该将字典转换为映射器并将其应用于每个索引。但是,对于MultiIndex
情况,它只遍历每个元组而不是每个索引。
我修好了它并制作了pull request。