pandas中dropna()函数的用法
时间: 2023-10-01 14:07:53 浏览: 168
pandas中的dropna()函数用于删除DataFrame中包含缺失值的行或列。具体用法如下:
语法:
```python
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
```
参数说明:
- axis: 取值为0或1,表示删除行或列,默认为0
- how: 取值为'any'或'all',表示删除包含任意缺失值或全部缺失值的行或列,默认为'any'
- thresh: 整数类型,表示每行或每列至少要有thresh个非缺失值才不会被删除,默认为None
- subset: 字符串列表,表示只在给定的列中查找缺失值并删除行,默认为None,即查找所有列
- inplace: 布尔类型,表示是否在原DataFrame上修改,默认为False,即返回一个新的DataFrame
示例:
```python
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, 8], 'C': [9, 10, 11, 12]})
print(df)
# 输出:
# A B C
# 0 1.0 5.0 9
# 1 2.0 NaN 10
# 2 NaN 7.0 11
# 3 4.0 8.0 12
# 删除包含任意缺失值的行
print(df.dropna())
# 输出:
# A B C
# 0 1.0 5.0 9
# 3 4.0 8.0 12
# 删除包含全部缺失值的列
print(df.dropna(axis=1, how='all'))
# 输出:
# A B C
# 0 1.0 5.0 9
# 1 2.0 NaN 10
# 2 NaN 7.0 11
# 3 4.0 8.0 12
# 删除至少有2个缺失值的行
print(df.dropna(thresh=2))
# 输出:
# A B C
# 0 1.0 5.0 9
# 1 2.0 NaN 10
# 3 4.0 8.0 12
# 只在'A'和'C'列中查找缺失值并删除行
print(df.dropna(subset=['A', 'C']))
# 输出:
# A B C
# 0 1.0 5.0 9
# 1 2.0 NaN 10
# 3 4.0 8.0 12
```
阅读全文