给定MultiIndex对象如何更改熊猫DataFrame层次结构索引的值

时间:2019-08-12 19:17:22

标签: python pandas

考虑一个具有层次结构索引(i1,i2)和一些数据列“ x”的Pandas DataFrame对象

i1  i2   x
a   0    3
a   1    7
a   2    9
b   0   11
b   1    2

给出与pd.MultiIndex对象等效的

[('a', '0'), ('a', '1')]

可以采用什么通用方法来修改原始DataFrame的索引以提供:

i1  i2   x
c   0    3
c   1    7
a   2    9
b   0   11
b   1    2

注意:['a',2]不变

1 个答案:

答案 0 :(得分:2)

我只能想到将索引改回列然后再将其放回索引

s=df.index.to_frame()
s.loc[[('a', 0), ('a', 1)],'i1']='c'
df.index=pd.MultiIndex.from_frame(s)
df
Out[164]: 
        x
i1 i2    
c  0    3
   1    7
a  2    9
b  0   11
   1    2
相关问题