一、函数参数
- 函数形式:dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
- 参数:
axis:0或’index’,表示按行删除;1或’columns’,表示按列删除。
how:‘any’,表示该行/列只要有一个以上的空值,就删除该行/列;‘all’,表示该行/列全部都为空值,就删除该行/列。
thresh:int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。
subset:子集。列表,按columns所在的列(或index所在的行)删除。
inplace:是否原地替换调原来的dataframe。布尔值,默认为False。
二、例子详解
2.1 载入库
import pandas as pd
import numpy as np
2.2 构建一个DataFrame
n = 5
DataList = [[str(n-i) for j in range(n-i)]+[np.nan for j in range(i)] for i in range(n)]
df = pd.DataFrame(DataList)

2.3 默认参数
df.dropna()

2.4 axis
df.dropna(axis=1)

2.5 how
df.dropna(how="all") # 本例子中没有全部为空值的行

2.6 thresh
- 保留非空值数量>=3的行,即删除空值数量>(5-3=2)的行
df.dropna(thresh=3)

2.7 subset
- 删除索引为2的行中,存在空值的列
df.dropna(subset=[2],axis=1)

结果为:

本文详细介绍了Pandas库中dropna()函数的使用,包括参数axis(按行或列删除)、how(按空值是否存在)、thresh(设定非空阈值)、subset(指定列删除)等关键选项。通过实例展示了如何有效地从DataFrame中删除含有空值的数据,帮助理解数据清洗过程。
676





