0

考虑一个带有分层索引 (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] 不变

4

1 回答 1

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
于 2019-08-12T19:23:43.247 回答