df.dropna多层索引
时间: 2023-08-16 15:13:24 浏览: 108
df.dropna方法可以用于删除包含缺失值的行或列。当数据具有多层索引时,你可以通过指定`level`参数来选择删除哪一层索引上包含缺失值的行或列。
下面是一个示例:
```python
import pandas as pd
# 创建一个具有多层索引的DataFrame
data = {'A': [1, 2, None, 4],
'B': [5, None, 7, None]}
index = pd.MultiIndex.from_tuples([('a', 1), ('a', 2), ('b', 1), ('b', 2)], names=['key1', 'key2'])
df = pd.DataFrame(data, index=index)
print(df)
# 删除包含缺失值的行
df_dropped_rows = df.dropna()
print(df_dropped_rows)
# 删除包含缺失值的列
df_dropped_cols = df.dropna(axis=1)
print(df_dropped_cols)
# 删除指定层索引上包含缺失值的行
df_dropped_level = df.dropna(level='key1')
print(df_dropped_level)
```
输出结果:
```
A B
key1 key2
a 1 1 5.0
2 2 NaN
b 1 NaN 7.0
2 4 NaN
A B
key1 key2
a 1 1 5.0
A
key1 key2
a 1 1
2 2
b 1 NaN
2 4
A B
key1 key2
a 1 1 5.0
2 2 NaN
b 1 NaN 7.0
```
这个示例中,我们创建了一个具有多层索引的DataFrame,并使用`dropna`方法删除了包含缺失值的行或列。在删除行时,我们也可以通过`level`参数指定删除哪一层索引上包含缺失值的行。
阅读全文