pandas 多层索引修改行名
时间: 2023-05-09 18:01:39 浏览: 253
修改Pandas的行或列的名字(重命名)
pandas是Python数据分析常用的库,其中多层索引在处理复杂数据时非常有用。在某些情况下,我们需要对多层索引中的行索引进行修改。此时,我们可以使用rename()方法。
rename()方法可以接受一个字典作为参数,字典中的key为原来的行索引名称,value为新的行索引名称。例如,我们有如下的数据表:
```
A B C
first second third
foo one A 1 2 3
B 4 5 6
two A 7 8 9
B 10 11 12
bar one A 13 14 15
B 16 17 18
two A 19 20 21
B 22 23 24
```
现在我们想要将第一层索引中"foo"替换为"FOO",第二层索引中"one"替换为"ONE",第三层索引中"A"替换为"a",代码如下:
```
df.rename(index={"foo": "FOO", "one": "ONE"}, level=[0,1], inplace=True) # 修改第一、第二层索引名称
df.rename(columns={"A": "a"}, level=2, inplace=True) # 修改第三层索引名称
```
修改后的数据表如下:
```
a B C
first second third
FOO ONE a 1 2 3
B 4 5 6
two a 7 8 9
B 10 11 12
bar ONE a 13 14 15
B 16 17 18
two a 19 20 21
B 22 23 24
```
可以看到,行索引名称已经被修改。当然,我们也可以只修改一层索引,在调用rename()方法时指定level参数即可。
阅读全文