Python数据分析之缺失值处理(二)|文末送书

◆ ◆ ◆ ◆ ◆
dropna为pandas库下DataFrame的一个方法,用于删除缺失值。基本参数如下:
dropna(self, axis=0, how='any', subset=None, inplace=False)
接下来,我们一一进行讲解。
# 预览模拟数据> dfOut[1]:name age birthday gender0 Alan 17.0 1999-01-25 male1 NaN NaT female2 Black 18.0 1997-02-07 male3 Cici NaN 2000-01-18 female4 David 25.0 NaT male5 NaN 22.0 NaT female# 不加任何参数> df.dropna()Out[2]:name age birthday gender0 Alan 17.0 1999-01-25 male2 Black 18.0 1997-02-07 male> df.dropna(how = 'any')Out[3]:name age birthday gender0 Alan 17.0 1999-01-25 male2 Black 18.0 1997-02-07 male
# all——删除整行均为缺失值的行> df.dropna(how = 'all')Out[4]:name age birthday gender0 Alan 17.0 1999-01-25 male1 NaN NaT female2 Black 18.0 1997-02-07 male3 Cici NaN 2000-01-18 female4 David 25.0 NaT male5 NaN 22.0 NaT female> df.iloc[:,1:3].dropna(how = 'all')Out[5]:age birthday0 17.0 1999-01-252 18.0 1997-02-073 NaN 2000-01-184 25.0 NaT5 22.0 NaT# 按列删除——即包含缺失值的列统统被删除> df.dropna(axis = 1)Out[6]:gender0 male1 female2 male3 female4 male5 female# 删除指定列包含缺失值的行> df.dropna(subset = ['name','gender'])Out[7]:name age birthday gender0 Alan 17.0 1999-01-25 male1 NaN NaT female2 Black 18.0 1997-02-07 male3 Cici NaN 2000-01-18 female4 David 25.0 NaT male
当然了,以上所有的操作均不是对元数据产生作用,只是生成了一个副本。如果想要对元数据产生作用,则必须加一个inplace参数。
# 再次查看元数据,观察是否变化> dfOut[8]:name age birthday gender0 Alan 17.0 1999-01-25 male1 NaN NaT female2 Black 18.0 1997-02-07 male3 Cici NaN 2000-01-18 female4 David 25.0 NaT male5 NaN 22.0 NaT female# 加入inplace参数,对元数据产生影响> df.dropna(inplace = True)> dfOut[9]:name age birthday gender0 Alan 17.0 1999-01-25 male2 Black 18.0 1997-02-07 male
> df[1:2]Out[182]:name age birthday gender1 NaN NaT female
《安家》热播,我用Python对北京房价进行了分析,结果……
记得点在看~祝大家一夜暴富,基金、股票一片红~
【送书,包邮到家】
《Python数据分析全流程实操指南》
内容简介:
本书适合在企业中从事数据分析、数据挖掘、机器学习等工作的人员学习使用,同样适合想从事数据分析挖掘工作的各大中专院校的学生与教师,以及其他对数据分析挖掘技术领域有兴趣爱好的各类人员。

规则:点在看,分享,排行榜第一即可获得本书。

评论
