dropna 函数怎么用
时间: 2023-07-08 22:43:05 浏览: 55
`dropna()` 是 pandas 库中的一个函数,用于删除表格中的缺失值(NaN)。 `dropna()` 函数的使用方式如下:
```python
df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
```
其中,各参数的含义如下:
- `axis`:指定删除行还是列,默认为 0,即删除行。
- `how`:指定删除方式,默认为 `any`,即删除包含缺失值的行或列;也可以指定为 `all`,表示只删除全部都是缺失值的行或列。
- `thresh`:指定保留多少个非缺失值的行或列,如果某行或某列的非缺失值数量不足 `thresh` 个,则会被删除。默认为 None,表示不使用该参数。
- `subset`:指定需要考虑的列名,如果某行或某列包含缺失值,但该列名不在 `subset` 中,则不会被删除。默认为 None,表示考虑所有列。
- `inplace`:是否在原表格上修改,如果为 True,则直接在原表格上删除缺失值,否则返回一个新的表格。默认为 False。
例如,如果我们有以下的表格数据:
```
A B C
0 1 2 3
1 4 NaN NaN
2 7 8 NaN
3 9 NaN 10
```
我们可以使用 `dropna()` 函数删除表格中的缺失值:
```python
df.dropna() # 删除包含缺失值的行(等价于 df.dropna(axis=0, how='any'))
```
输出结果为:
```
A B C
0 1 2 3
```
如果我们需要删除包含全部都是缺失值的行,可以将 `how` 参数指定为 `all`:
```python
df.dropna(how='all') # 删除全部都是缺失值的行
```
输出结果为:
```
A B C
0 1 2 3
1 4 NaN NaN
2 7 8 NaN
3 9 NaN 10
```
如果我们需要在保留至少有 2 个非缺失值的行的情况下删除缺失值,可以将 `thresh` 参数指定为 2:
```python
df.dropna(thresh=2) # 保留至少有 2 个非缺失值的行
```
输出结果为:
```
A B C
0 1 2 3
2 7 8 NaN
3 9 NaN 10
```
如果我们需要只考虑列 `A` 和 `C` 中的缺失值,可以将 `subset` 参数指定为 `['A', 'C']':
```python
df.dropna(subset=['A', 'C']) # 只考虑列 A 和 C 中的缺失值
```
输出结果为:
```
A B C
0 1 2 3
3 9 NaN 10
```
希望这个回答能够解决你的问题。