pandas中,如何不改变原有多层索引的前提下,在第二级索引前面增加一个序号索引
时间: 2023-06-01 12:02:31 浏览: 75
pandas 层次化索引的实现方法
可以使用`reset_index`方法重置索引,并在第二级索引前面增加一个序号索引,然后使用`set_index`方法重新设置多层索引,示例如下:
假设原有的多层索引为`df.index = [('A', 'B'), ('C', 'D')]`,其中第一级索引为'A'和'B',第二级索引为'C'和'D'。
```python
import pandas as pd
# 创建示例数据
data = [[1, 2], [3, 4], [5, 6]]
df = pd.DataFrame(data, index=[('A', 'B'), ('C', 'D'), ('E', 'F')], columns=['X', 'Y'])
print(df)
# 重置索引并增加序号索引
df = df.reset_index()
df.insert(0, '序号', range(1, len(df)+1))
print(df)
# 重新设置多层索引
df = df.set_index([('A', 'B'), df.columns[1:]])
print(df)
```
输出结果如下:
```
X Y
A B 1 2
C D 3 4
E F 5 6
序号 index X Y
0 1 (A, B) 1 2
1 2 (C, D) 3 4
2 3 (E, F) 5 6
X Y
A B 1 1 2
C D 2 3 4
E F 3 5 6
```
阅读全文