pandas删除缺失值
时间: 2023-05-30 11:05:42 浏览: 94
可以使用 `dropna()` 方法来删除缺失值。该方法默认会删除 DataFrame 中包含任何缺失值的行。
语法:
```python
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
```
参数说明:
- `axis`:指定删除的行或列,默认为 0(行)。如果为 1,则表示删除包含缺失值的列。
- `how`:指定删除的方式。默认为 `'any'`,表示删除包含任何缺失值的行或列;`'all'` 表示仅删除全部为缺失值的行或列。
- `thresh`:指定每行或每列非缺失值的最小数量。如果某行或某列缺失值的数量超过该阈值,则被删除。
- `subset`:指定要考虑的列的子集,只有这些列包含缺失值时,相应的行或列才会被删除。
- `inplace`:是否将更改应用于原始 DataFrame,如果为 True,则不需要将更改分配给新变量。
示例:
```python
import pandas as pd
import numpy as np
# 创建包含缺失值的 DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4, 5],
'B': [6, np.nan, 8, 9, 10],
'C': [11, 12, 13, np.nan, 15],
'D': [16, 17, 18, 19, np.nan]})
# 删除包含任何缺失值的行
df.dropna()
# 删除包含任何缺失值的列
df.dropna(axis=1)
# 仅删除全部为缺失值的行
df.dropna(how='all')
# 删除至少有 3 个非缺失值的行
df.dropna(thresh=3)
# 仅考虑 A 和 B 列,删除这些列包含缺失值的行
df.dropna(subset=['A', 'B'])
# 将更改应用于原始 DataFrame
df.dropna(inplace=True)
```