python dataframe 如何去除缺失值

 我来答
帐号已注销
高粉答主

2019-08-26 · 关注我不会让你失望
知道小有建树答主
回答量:1346
采纳率:100%
帮助的人:37.5万
展开全部

1、导入需要的库。import pandas as pd,import numpy as np,from sklearn.preprocessing import Imputer。

2、生成缺失数据。data=pd.DataFrame({'name':['Kite','Lily','Hanmei','Danny','Bob'],'English':[92,78,np.nan,23,82],'Math':[69,87,91,np.nan,90],'Chinese':[np.nan,78,96,np.nan,75]}),print(data)。

3、查看缺失值。data.isnull()#查看所有缺失值,data.isnull().any()#获取含有缺失值的列,data.isnull().all()#获取全部为NA的列。

4、删除缺失值。这种处理方式丢失的信息比较多。data2=data.dropna()。print(data2)可以看到,删除后,仅剩两行数据。

5、利用sklearn替换缺失值。当缺失值为数值型数据时,可用利用均值来替换。

6、利用pandas替换缺失值。data.fillna(0) #缺失值用0替换。

扩展资料

Python在执行时,首先会将py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,NET是一致的。

然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。

这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大;

说和Java 或NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

基于C的Python编译出的字节码文件,通常是pyc格式。除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。

它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。

并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。

百度网友faadf46
高粉答主

2019-07-23 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:77.4万
展开全部

1、加载numpy、pandas、和Series,DataFrame。生成一个含有缺失值的Series,命名为s1。

2、缺失值的判断方法。s1.isnull()和s1.notnull()分别是判断元素是缺失值或者不是缺失值,刚好是相反的功能。

3、Series缺失值的删除。s1.dropna()为删除s1的缺失值后的数据,s1[s1.notnull()]则为取出s1中不是缺失值的数据。

4、为了看看DataFrame是如何删除缺失值的,新生成一个df2。

5、df2.dropna()默认删除了含有缺失值的所有行,如果我们只需要把某一行所有数据为缺失值的才删除,那么需要用how=‘all’进行限制,如df2.dropna(how='all')。

6、如果要删除DataFrame的缺失值所在的列,那么只需加上axis=1即可。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刺友互
高粉答主

2019-07-20 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:74.6万
展开全部

1、导入需要的库。import pandas as pd,import numpy as np,from sklearn.preprocessing import Imputer。

2、生成缺失数据。data=pd.DataFrame({'name':['Kite','Lily','Hanmei','Danny','Bob'],'English':[92,78,np.nan,23,82],'Math':[69,87,91,np.nan,90],'Chinese':[np.nan,78,96,np.nan,75]}),print(data)。

3、查看缺失值。data.isnull()#查看所有缺失值,data.isnull().any()#获取含有缺失值的列,data.isnull().all()#获取全部为NA的列。

4、删除缺失值。这种处理方式丢失的信息比较多。data2=data.dropna()。print(data2)可以看到,删除后,仅剩两行数据。

5、利用sklearn替换缺失值。当缺失值为数值型数据时,可用利用均值来替换。

6、利用pandas替换缺失值。data.fillna(0) #缺失值用0替换。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哦_廿一
2017-03-29 · TA获得超过431个赞
知道小有建树答主
回答量:273
采纳率:91%
帮助的人:233万
展开全部
df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
# axis 指 轴,0是行,1是列,
# how 是删除条件:any 任意一个为na则删除整行/列,all 整行/列为na才删除
# inplace 是否在原DataFrame 上进行删除,false为否
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式