pandas.DataFrame.dropna#

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)[源代码]#

删除缺少的值。

请参阅 User Guide 有关哪些值被视为缺失以及如何处理缺失数据的详细信息。

参数
axis{0或‘index’,1或‘Columns’},默认为0

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

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

  • 1或‘Columns’:删除包含缺失值的列。

在 1.0.0 版更改: 传递元组或列表以拖放到多个轴上。只允许一个轴。

how{‘ANY’,‘ALL’},默认为‘ANY’

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

  • ‘Any’:如果存在任何NA值,则删除该行或列。

  • ‘all’:如果所有值都为NA,则删除该行或列。

thresh整型,可选

需要许多非NA值。

subset列标签或标签序列,可选

要考虑的其他轴上的标签,例如,如果您正在拖放行,这些将是要包括的列的列表。

inplace布尔值,默认为False

如果为True,则原地执行操作并返回None。

退货
DataFrame或无

从其中丢弃NA条目的DataFrame,如果 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

将DataFrame与有效条目保留在同一变量中。

>>> df.dropna(inplace=True)
>>> df
     name        toy       born
1  Batman  Batmobile 1940-04-25