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()
方法。我们学习了语法、参数,并通过将此方法应用于数据帧来解决示例,并理解了示例。