pandas.DataFrame.dropna #

数据框。dropna ( * , axis = 0 , how = _NoDefault.no_default , thresh = _NoDefault.no_default , subset = None , inplace = False , ignore_index = False ) [来源] #

删除缺失值。

有关哪些值被视为缺失以及如何处理缺失数据的更多信息,请参阅用户指南。

参数
{0 或 'index', 1 或 'columns'}, 默认 0

确定是否删除包含缺失值的行或列。

  • 0 或 'index' :删除包含缺失值的行。

  • 1,或“列”:删除包含缺失值的列。

只允许使用单个轴。

如何{'any', 'all'}, 默认'any'

当我们至少有一个 NA 或全部 NA 时,确定是否从 DataFrame 中删除行或列。

  • 'any' :如果存在任何 NA 值,则删除该行或列。

  • 'all' :如果所有值均为 NA,则删除该行或列。

阈值int,可选

需要那么多非 NA 值。不能与how 结合。

子集列标签或标签序列,可选

要考虑沿其他轴的标签,例如,如果您要删除行,这些将是要包含的列的列表。

inplace布尔值,默认 False

是否修改 DataFrame 而不是创建一个新的。

ignore_index布尔值,默认False

如果True,则生成的轴将标记为 0, 1, …, n - 1。

2.0.0 版本中的新增内容。

返回
数据框或无

从中删除 NA 条目的 DataFrame 或 None if inplace=True

也可以看看

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