手把手教你用pandas处理缺失值.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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??????aardvark 1?????artichoke 2????????????NaN 3???????avocado dtype:?object In: string_data.isnull() Out: 0?????False 1?????False 2??????True 3?????False dtype:?bool 在pandas中,我们接受了R言语中的编程惯例,将缺失值成为NA,意思是not available(不行用)。在统计学应用中,NA数据可以是不存在的数据或者是存在但不行观看的数据(例如在数据收集过程中消灭了问题)。当清洗数据用于分析时,对缺失数据本身进行分析以确定数据收集问题或数据丢失导致的数据偏差通常很重要。 Python内建的None值在对象数组中也被当作NA处理: In: string_data[0]?=?None string_data.isnull() Out: 0??????True 1?????False 2??????True 3?????False dtype:?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.0 2?????3.5 4?????7.0 dtype:?float64 上面的例子与下面的代码是等价的: In: data[data.notnull()] Out: 0?????1.0 2?????3.5 4?????7.0 dtype:?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?????2 0??1.0??6.5??3.0 1??1.0??NaN??NaN 2??NaN??NaN??NaN 3??NaN??6.5??3.0 In: cleaned Out: ???0?????1????

文档评论(0)

liuxiyuliuxingyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档