Pandas 数据帧dropna()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-dropna-method

在本教程中,我们将学习 PandasDataFrame.dropna()方法。它删除丢失的值,并返回数据帧,其中删除了无条目,如果inplace=True,则返回无。

下图显示了 PandasDataFrame.dropna()方法的语法。

句法

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

因素

轴: {0 或'索引',1 或'列' },默认为 0。确定是否删除了包含缺失值的行或列。

  • 0 或“索引”:删除包含缺失值的行。

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

在 1.0.0 版本中更改:将元组或列表传递到多个轴上。只允许一个轴。

how: {'any ',' all'},默认' any '。当我们至少有一个 NA 或所有 NA 时,确定是否从数据帧中删除行或列。

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

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

thresh: int,可选。要求许多非 NA 值。

子集:沿其他轴的类似数组的可选标签,例如,如果您要删除行,这些将是要包括的列列表。

inplace: bool,默认 False。如果为真,则就地执行操作,并返回无。

示例 1:使用DataFrame.dropna()方法删除行

在下面的例子中,由至少一个缺失值或空值组成的行将使用DataFrame.dropna()方法从数据帧中删除。

import pandas as pd
df= pd.DataFrame([['Abhishek',100,'Science',None], ['Anurag',101,'Science',85],['Chetan',103,'Maths',None]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
print("------DataFrame-----")
print(df)
print("------After dropping the rows consisting of null values---------")
print(df.dropna())

一旦我们运行该程序,我们将获得以下输出。

-数据帧- 名称卷无主题标记 0 Abhishek 100 Science NaN 1 anu rag 101 Science 85.0 2 Chetan 103 数学 NaN -删除由空值组成的行后- 名称卷无主题标记 1 Anurag 101 Science 85.0

示例 2:使用DataFrame.dropna()方法删除行

在下面的例子中,由至少一个缺失值或空值组成的列将使用DataFrame.dropna()方法从数据帧中删除。

import pandas as pd
df= pd.DataFrame([['Abhishek',None,'Science',None], ['Anurag',101,'Science',85],['Chetan',103,'Maths',None]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
print("----------DataFrame-----------")
print(df)
print("------After dropping the columns consisting of null values---------")
print(df.dropna(axis=1))

一旦我们运行该程序,我们将获得以下输出。

  • DataFrame - 名称卷无主题标记 0 Abhishek NaN Science NaN 1 anu rag 101.0 Science 85.0 2 Chetan 103.0 数学 NaN -删除由空值组成的列后- 名称主题 0 Abhishek Science 1 anu rag Science 2 Chetan 数学

示例 3:使用DataFrame.dropna()方法删除行

在下面的示例中,DataFrame.dropna()方法通过仅保留至少有 2 个非 NA 值的行来删除行。

import pandas as pd
df= pd.DataFrame([[None,None,'Science',None], ['Anurag',101,'Science',None],['Chetan',None,'Maths',None]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
print("------DataFrame-----")
print(df)
print("------After dropping the rows consisting of null values---------")
print(df.dropna(thresh=2))

一旦我们运行该程序,我们将获得以下输出。

-数据帧- 名称滚动无主题标记 0 无楠科学无 1 无拉格 101.0 科学无 2 车坦楠数学无 -删除由空值组成的行后- 名称滚动无主题标记 1 无拉格 101.0 科学无 2 车坦楠数学无

示例 4:使用DataFrame.dropna()方法删除行

通过在DataFrame.dropna()方法中使用子集方法定义在哪些列中查找缺失值,我们可以删除这些列。

import pandas as pd
df= pd.DataFrame([['Abhishek',None,'Science',None], ['Anurag',101,'Science',85],['Chetan',103,'Maths',75]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
print("----------DataFrame-----------")
print(df)
print("------After dropping the columns consisting of null values---------")
print(df.dropna(subset=['Subject','Marks']))

一旦我们运行该程序,我们将获得以下输出。

  • DataFrame - 名称卷无主题标记 0 Abhishek NaN Science NaN 1 anu rag 101.0 Science 85.0 2 Chetan 103.0 数学 75.0 -删除由空值组成的列后- 名称卷无主题标记 1 Anurag 101.0 科学 85.0 2 Chetan 103.0 数学 75.0

结论

在本教程中,我们学习了 PandasDataFrame.dropna()方法。我们学习了语法、参数,并通过将此方法应用于数据帧来解决示例,并理解了示例。