- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
手把手教你用pandas处理缺失值
Python爬虫与数据挖掘
1970-01-01
以下文章来源于大数据DT ,作者Wes McKinney HYPERLINK
大数据DT
.
供应大数据、AI等领域干货学习资源的「宝藏号」,跟50万技术人共同成长,一起玩转大数据、Python、数据分析、数据科学、人工智能!还会有各种好玩又奇葩的数据解读,边学习边吃瓜!
点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
人有悲欢离合,月有阴晴圆缺。
导读:在进行数据分析和建模的过程中,大量的时间花在数据预备上:加载、清理、转换和重新陈列。本文将争辩用于缺失值处理的工具。
缺失数据会在很多数据分析应用中消灭。pandas的目标之一就是尽可能无痛地处理缺失值。
作者:韦斯·麦金尼(Wes McKinney)
译者:徐敬一
来源:大数据DT(ID:hzdashuju)
pandas对象的全部描述性统计信息默认情况下是排解缺失值的。
pandas对象中表现缺失值的方式并不完善,但是它对大部分用户来说是有用的。对于数值型数据,pandas使用浮点值NaN(Not a Number来表示缺失值)。我们称NaN为简约检测到的标识值:
In :?
string_data?=?pd.Series([aardvark,?artichoke,?np.nan,?avocado])
string_data
Out:
0??????aardvark1?????artichoke2????????????NaN3???????avocadodtype:?object
In:
string_data.isnull()
Out:
0?????False1?????False2??????True3?????Falsedtype:?bool
在pandas中,我们接受了R言语中的编程惯例,将缺失值成为NA,意思是not available(不行用)。在统计学应用中,NA数据可以是不存在的数据或者是存在但不行观看的数据(例如在数据收集过程中消灭了问题)。当清洗数据用于分析时,对缺失数据本身进行分析以确定数据收集问题或数据丢失导致的数据偏差通常很重要。
Python内建的None值在对象数组中也被当作NA处理:
In:
string_data[0]?=?None
string_data.isnull()
Out:
0??????True1?????False2??????True3?????Falsedtype:?bool
pandas项目持续改善处理缺失值的内部细节,但是用户API函数,比如pandas. isnull,笼统掉了很多令人厌烦的细节。处理缺失值的相关函数列表如下:
dropna:依据每个标签的值能否是缺失数据来筛选轴标签,并依据允许丢失的数据量来确定阈值
fillna:用某些值填充缺失的数据或使用插值方法(如“ffill”或“bfill”)。
isnull:前往表明哪些值是缺失值的布尔值
notnull:isnull的反作用函数
01 过滤缺失值
有多种过滤缺失值的方法。虽然你可以使用pandas.isnull和布尔值索引手动地过滤缺失值,但dropna在过滤缺失值时是格外有用的。在Series上使用dropna,它会前往Series中全部的非空数据及其索引值:
In:
from?numpy?import?nan?as?NA
data?=?pd.Series([1,?NA,?3.5,?NA,?7])
data.dropna()
Out:
0?????1.02?????3.54?????7.0dtype:?float64
上面的例子与下面的代码是等价的:
In:
data[data.notnull()]
Out:
0?????1.02?????3.54?????7.0dtype:?float64
当处理DataFrame对象时,事情会略微更简单一点。你可能想要删除全部为NA或包含有NA的行或列。dropna默认情况下会删除包含缺失值的行:
In:
data?=?pd.DataFrame([[1.,?6.5,?3.],?[1.,?NA,?NA]?????????????????????[NA,?NA,?NA],?[NA,?6.5,?3.]])
cleaned?=?data.dropna()
data
Out:
???0?????1?????20??1.0??6.5??3.01??1.0??NaN??NaN2??NaN??NaN??NaN3??NaN??6.5??3.0
In:
cleaned
Out:
???0?????1????
您可能关注的文档
- 如何保证缓存与数据库一致性.docx
- 如何使用RSA 对数据加解密和签名验签?一篇文章带你搞定.docx
- 如何保证缓存与数据库双写时的数据一致性?.docx
- 如何保证缓存和数据库的一致性.docx
- 如何写出一份优秀的软件设计文档.docx
- 如何做好架构之架构切分.docx
- 如何写好一份技术简历.docx
- 个人入股公司股份协议书范本.docx
- 如何写出没有BUG的代码.docx
- 如何利用Http缓存机制.docx
- 手把手教你用Pandas库对淘宝原始数据进行数据处理和分词处理.docx
- 手把手教你用Pyecharts库对淘宝数据进行可视化展示.docx
- 手把手教你用Pycharm连接远程Python环境.docx
- 手把手教你用Python实现Excel中的Vlookup功能.docx
- 手把手教你用Python实现批量文件的压缩处理.docx
- 手把手教你用Python操纵Word自动编写离职报告.docx
- 手把手教你用Python搭建IP代理池,轻松破解请求频率限制反爬虫~.docx
- 手把手教你用Python替代Mapinfo更快查找两张表中距离最近的点.docx
- 个人烧伤情况说明怎么写范文.docx
- 手把手教你用Python来模拟绘制自由落体运动过程中的抛物线(附源码).docx
文档评论(0)