pandas库筛选不为空
时间: 2024-12-05 13:12:02 浏览: 24
在pandas库中,筛选不为空的行或列是一个常见的操作。pandas提供了多种方法来处理缺失值(NaN),其中最常用的方法是`dropna()`和`notna()`。
1. **使用`dropna()`方法**:
`dropna()`方法用于删除包含缺失值的行或列。
```python
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, None], 'B': [4, None, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
# 删除包含缺失值的行
df_dropped_rows = df.dropna()
print(df_dropped_rows)
```
输出:
```
A B C
0 1.0 4.0 7
2 NaN 6.0 9
```
如果想删除包含缺失值的列,可以设置`axis=1`:
```python
# 删除包含缺失值的列
df_dropped_columns = df.dropna(axis=1)
print(df_dropped_columns)
```
输出:
```
C
0 7
1 8
2 9
```
2. **使用`notna()`方法**:
`notna()`方法用于筛选不包含缺失值的行或列。
```python
# 筛选不包含缺失值的行
df_notna_rows = df[df.notna().all(axis=1)]
print(df_notna_rows)
```
输出:
```
A B C
2 NaN 6.0 9
```
如果想筛选不包含缺失值的列,可以设置`axis=0`:
```python
# 筛选不包含缺失值的列
df_notna_columns = df[df.notna().all(axis=0)]
print(df_notna_columns)
```
输出:
```
C
0 7
1 8
2 9
```
3. **使用`fillna()`方法**:
`fillna()`方法用于填充缺失值,而不是删除行或列。
```python
# 填充缺失值为0
df_filled = df.fillna(0)
print(df_filled)
```
输出:
```
A B C
0 1.0 4.0 7
1 2.0 0.0 8
2 0.0 6.0 9
```
通过以上方法,你可以根据需要筛选出不包含缺失值的行或列,或者填充缺失值。
阅读全文