1. import pandas as pd
  2. import numpy as np
  3.  
  4. '''
  5. 有时候我们导入或处理数据, 会产生一些空的或者是 NaN 数据,如何删除或者是填补这些 NaN 数据就是我们今天所要提到的内容.
  6. 建立了一个6X4的矩阵数据并且把两个位置置为空.
  7. '''
  8. dates = pd.date_range('20130101', periods=6)
  9. df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D'])
  10. df.iloc[0,1] = np.nan
  11. df.iloc[1,2] = np.nan
  12. """
  13. A B C D
  14. 2013-01-01 0 NaN 2.0 3
  15. 2013-01-02 4 5.0 NaN 7
  16. 2013-01-03 8 9.0 10.0 11
  17. 2013-01-04 12 13.0 14.0 15
  18. 2013-01-05 16 17.0 18.0 19
  19. 2013-01-06 20 21.0 22.0 23
  20. """
  21. '''
  22. pd.dropna() 去掉
  23.  
  24. 如果想直接去掉有 NaN 的行或列, 可以使用 dropna
  25. '''
  26. df.dropna(
  27. axis=0, # 0: 对行进行操作; 1: 对列进行操作
  28. how='any' # 'any': 只要存在 NaN 就 drop 掉; 'all': 必须全部是 NaN 才 drop
  29. )
  30. """
  31. A B C D
  32. 2013-01-03 8 9.0 10.0 11
  33. 2013-01-04 12 13.0 14.0 15
  34. 2013-01-05 16 17.0 18.0 19
  35. 2013-01-06 20 21.0 22.0 23
  36. """
  37.  
  38. '''
  39. pd.fillna(value=) 代替
  40. 如果是将 NaN 的值用其他值代替, 比如代替成 0:
  41. '''
  42. df.fillna(value=0)
  43. """
  44. A B C D
  45. 2013-01-01 0 0.0 2.0 3
  46. 2013-01-02 4 5.0 0.0 7
  47. 2013-01-03 8 9.0 10.0 11
  48. 2013-01-04 12 13.0 14.0 15
  49. 2013-01-05 16 17.0 18.0 19
  50. 2013-01-06 20 21.0 22.0 23
  51. """
  52.  
  53. # pd.isnull()
  54. #
  55. # 判断是否有缺失数据 NaN, 为 True 表示缺失数据:
  56.  
  57. df.isnull() #这个是返回一个dateframe
  58. """
  59. A B C D
  60. 2013-01-01 False True False False
  61. 2013-01-02 False False True False
  62. 2013-01-03 False False False False
  63. 2013-01-04 False False False False
  64. 2013-01-05 False False False False
  65. 2013-01-06 False False False False
  66. """
  67.  
  68. # 检测在数据中是否存在 NaN, 如果存在就返回 True:
  69. #np.any()是概括
  70. # np.any(df.isnull()) == True
  71. # True
  1. df.dropna(
    axis=0, # 0: 对行进行操作; 1: 对列进行操作
    how='any' # 'any': 只要存在 NaN 就 drop 掉; 'all': 必须全部是 NaN 才 drop
    )

   去掉有空值的行或者列

dateframe.fillna(value= ) 替代控制为value的值

dateframe.isnull() 这个返回的是一个dateframe 里面的只有false,true 当存在na的时候就是true

np.any(dateframe.isnull() )  判断这个dateframe是否有空值

出处:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/3-4-pd-nan/

pandas的学习4-处理丢失数据的更多相关文章

  1. pandas的学习5-导入导出数据

    import pandas as pd ''' pandas可以读取与存取的资料格式有很多种,像csv.excel.json.html与pickle等-, 详细请看官方说明文件 ''' # read ...

  2. Pandas 处理丢失数据

    处理丢失数据 import pandas as pd from pandas import Series, DataFrame import numpy as np 有两种丢失数据: 1. None ...

  3. pandas学习(四)--数据的归一化

    欢迎加入python学习交流群 667279387 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学习(四)–数据 ...

  4. Pandas学习(一)——数据的导入

    欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...

  5. (二)pandas处理丢失数据

    处理丢失数据 有两种丢失数据: None np.nan(NaN) import numpy as np type(None) NoneType type(np.nan) float 1. None N ...

  6. pandas的学习总结

    pandas的学习总结 作者:csj更新时间:2017.12.31 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 1 ...

  7. 6 DataFrame处理丢失数据--数据清洗

    处理丢失数据       有两种丢失数据:                  · None         · np.nan(NaN)     1 None     None是Python自带的,其类 ...

  8. .Net读取Excel文件时丢失数据的问题 (转载)

    相信很多人都试过通过OleDB读取Excel文件,这种方法效率十分高,只是有一点会让人十分头痛,就是当一列中既有混合型数据,又有纯数据时,往往容易丢失数据. 百度过后,改连接字符串 “HDR=YES; ...

  9. 使用ehcache持久化数据到磁盘 并且在应用服务器重启后不丢失数据

    使用ehcache时如何持久化数据到磁盘,并且在应用服务器重启后不丢失数据1.如何持久化到磁盘使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache ...

随机推荐

  1. CorelDRAW软件的出血位详解

    出血位,一种常见的印刷术语,在印刷品中,设计的图形一般比成品尺寸要大,会加一些延伸,专门用来给生产工艺中的公差范围使用,以避免最后裁切的成品中有白边或是裁到内容.多出来的部分在印刷后要被裁掉,这部分就 ...

  2. 教你怎么设置Vegas渲染输出的选定范围

    在制作视频时,很多用户进行到渲染时,常常会发生这样那样的问题,导致导出的视频效果不甚理想.归结原因,还是用户在渲染输出时的选定范围存在问题. 接下来小编就为大家具体介绍下:vegas如何设置渲染输出的 ...

  3. http host头攻击漏洞

    原文地址: https://www.zhuyilong.fun/tech/handel_httphost_attack.html 漏洞描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host ...

  4. Thrift接口简介

    参考地址:http://roclinux.cn/?p=3316 [thrift是什么] 计算机技术里一款著名的通信框架 – thrift框架 thrift的全名叫做Apache thrift,是一款软 ...

  5. Oracle11gR2 sqlplus中可以执行上键查询backspace删除

    1.1 sqlplus中可以执行上键查询backspace删除 1.1.1 上键查询 方法1: 安装源-导入key-安装rpm包-进入配置文件修改参数 rpm -ivh http://download ...

  6. odoo13之右上角弹出提示框

    前言 在odoo中已经提供好了右上角弹出提示框的接口,我们只需要调用即可: 而提示框的实现又分为前端js实现和后段函数实现,前后端实现的效果相同. 实现效果图 前端实现提示框 在前端中显示提示框最常用 ...

  7. 20191209_Centos7.2使用yum安装mysql

    1. 下载mysql的rpm包 [root@izwz91qnvovd6suufon1ccz ~]# wget http://dev.mysql.com/get/mysql57-community-re ...

  8. PyQt学习随笔:自定义信号连接时报AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 如果使用自定义信号,一定要记得信号是类变量,必须在类中定义,不能在实例 ...

  9. PyQt(Python+Qt)学习随笔:工具箱(QToolBox)编程使用的步骤及示例代码

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 使用toolBox开发应用时,通过Designer设计ui界面时,只能在Designer中设计too ...

  10. 第11.19节 Python 中正则表达式的扩展功能:前视断言和前视取反

    一. 引言 在<第11.16节 Python正则元字符"()"(小括号)与组(group)匹配模式>中老猿介绍了组匹配模式的命名组功能及引用组功能,这两者都是组模式的扩 ...