droplevel的用法
时间: 2023-11-21 15:05:06 浏览: 30
`droplevel()` 是 pandas 库中的一个函数,用于在多重索引中删除一个或多个级别。其常用的参数和用法如下:
```python
MultiIndex.droplevel(level, axis=0)
```
- `level`:指定要删除的索引级别序号或名称。可以是单个数字或名称,也可以是由数字和名称组成的列表。
- `axis`:指定删除级别的轴向。默认为 0,即删除行索引。如果要删除列索引,需要设置为 1。
下面是一个示例:
```python
import pandas as pd
# 创建一个多重索引数据帧
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8], 'B': [10, 20, 30, 40, 50, 60, 70, 80]}, index=index)
# 打印原始数据帧
print(df)
# 删除第一级索引
df_drop = df.droplevel(0)
# 打印删除第一级索引后的数据帧
print(df_drop)
```
输出如下:
```
A B
first second
bar one 1 10
two 2 20
baz one 3 30
two 4 40
foo one 5 50
two 6 60
qux one 7 70
two 8 80
A B
second
one 1 10
two 2 20
one 3 30
two 4 40
one 5 50
two 6 60
one 7 70
two 8 80
```
在上面的例子中,原始数据帧是一个多重索引数据帧,包含两个级别的行索引。通过 `droplevel()` 函数删除第一级索引后,得到了一个只有一个级别的行索引的新数据帧。