pandas.DataFrame.dropna#
- DataFrame.dropna(*, axis=0, how=<no_default>, thresh=<no_default>, subset=None, inplace=False, ignore_index=False)[源]#
删除缺失值。
有关哪些值被视为缺失值以及如何处理缺失值,请参阅 用户指南。
- 参数:
- axis{0 或 ‘index’, 1 或 ‘columns’}, 默认为 0
确定是否删除包含缺失值的行或列。
0 或 ‘index’:删除包含缺失值的行。
1 或 ‘columns’:删除包含缺失值的列。
只允许一个轴。
- how{‘any’, ‘all’}, 默认 ‘any’
确定何时删除 DataFrame 中的行或列,当我们至少有一个 NA 或所有值都是 NA 时。
‘any’:如果存在任何 NA 值,则删除该行或列。
‘all’:如果所有值都是 NA,则删除该行或列。
- threshint, 可选
要求有这么多非 NA 值。不能与 how 结合使用。
- subset列标签或标签的可迭代对象,可选
要在其他轴上考虑的标签,例如,如果您要删除行,这些将是包含在内的列的列表。
- inplacebool, default False
是否修改 DataFrame 而不是创建新 DataFrame。
- ignore_indexbool, 默认为
False 如果为
True,则结果轴将标记为 0, 1, ..., n - 1。版本 2.0.0 中已添加。
- 返回:
- DataFrame 或 None
从 DataFrame 中删除 NA 条目的 DataFrame,或者如果
inplace=True则为 None。
另请参阅
DataFrame.isna指示缺失值。
DataFrame.notna指示存在的(非缺失)值。
DataFrame.fillna替换缺失值。
Series.dropna删除缺失值。
Index.dropna删除缺失的索引。
示例
>>> df = pd.DataFrame( ... { ... "name": ["Alfred", "Batman", "Catwoman"], ... "toy": [np.nan, "Batmobile", "Bullwhip"], ... "born": [pd.NaT, pd.Timestamp("1940-04-25"), pd.NaT], ... } ... ) >>> df name toy born 0 Alfred NaN NaT 1 Batman Batmobile 1940-04-25 2 Catwoman Bullwhip NaT
删除至少有一个元素缺失的行。
>>> df.dropna() name toy born 1 Batman Batmobile 1940-04-25
删除至少有一个元素缺失的列。
>>> df.dropna(axis="columns") name 0 Alfred 1 Batman 2 Catwoman
删除所有元素都缺失的行。
>>> df.dropna(how="all") name toy born 0 Alfred NaN NaT 1 Batman Batmobile 1940-04-25 2 Catwoman Bullwhip NaT
仅保留具有至少 2 个非 NA 值的行。
>>> df.dropna(thresh=2) name toy born 1 Batman Batmobile 1940-04-25 2 Catwoman Bullwhip NaT
定义在哪一列中查找缺失值。
>>> df.dropna(subset=["name", "toy"]) name toy born 1 Batman Batmobile 1940-04-25 2 Catwoman Bullwhip NaT