第四节  数据七十二变

1、对于简单的数据删除空值数据(NaN)——对于简单的数据进行过滤,如果对于负责的
    DataFrame对象进行使用则会存在空值数据过滤不干净

import pandas as pd——导入模块
    li=[2,NaN,4,6,NaN,4]——数据集
    se=pd.Series(data=li)——生成Series对象
    se.notnull()——对是否是空值数据进行判断(返回值是bool值)
    print(se[se.notnull()])——返回过滤之后的数据

2、删除空值数据(NaN)的行和列

使用dropna函数:
        df1=df.dropna()

dropna()是删除空值数据的方法,默认将只要含有NaN的整行数据删掉,如果想要删除整行都是空值的数据
    需要添加how='all'参数。
    如果想要对列做删除操作,需要添加axis参数,axis=1表示列,axis=0表示行。
    我们也可以使用thresh参数筛选想要删除的数据,thresh=n保留至少有n个非NaN数据的行。

3、删除数据

使用函数drop(labels=None,axis=0, index=None, columns=None, inplace=False)
        labels :就是要删除的行列的名字,用列表给定。
        axis:axis=1表示列,axis=0表示行
        index: 直接指定要删除的行。
        columns: 直接指定要删除的列。
        inplace=False:默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe。
        inplace=True:则会直接在原数据上进行删除操作,删除后无法返回。
    ///
        DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

总结:最后总结出删除数据可以使用两种方式:
        (1)使用labels参数和axis参数结合来删除数据
        (2)使用index或者是columns来删除参数,而且index和columns可以同时使用,但是同时使用时
            删除的不是某一个单元格,而是所在行和所在列都会删除

4、空值的处理(NaN表示空值)

对于空值我们可以将整条数据删除,也可以使用fillna()方法对空值进行填充

df.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

注意:method参数不能与value参数同时出现。

填充方法有以下三种:
        (1)使用常数填充
            df.fillna(常数)
        (2)使用列的平均数填充
            df.fillna(df.mean())
        (3)使用前面前面一个值进行填充
            df.fillna(method="ffill",axis=0)

5、重复数据的处理
    重复数据的存在有时不仅会降低分析的准确度,也会降低分析的效率。所以我们在整理数据的
    时候应该将重复的数据删除掉

判断是否是重复数据:
        利用duplicated()函数返回的是一个值为Bool类型的Series,如果当前行所有列的数据与前面
        的数据是重复的就返回True;反之,则返回False
            print(df.duplicated())

删除重复数据
        可以使用drop_duplicates()将重复的数据行进行删除
            df.drop_duplicates()
        也可以对列数据进行判断,然后把重复的数据删除
            df.drop_duplicates([列名],inplace=False)

总结

数据以及空值数据处理方法相关推荐

  1. 【大数据】海量数据处理方法

    1.海量日志数据,提取出某日访问百度次数最多的那个IP. 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中.注意到IP是32位的,最多有个2^32个IP.同样可以采用映射的方法 ...

  2. Pandas数据处理方法(包括数据库数据和普通文件数据)

    pandas是一个强大的分析结构化数据的工具集:它的使用基础是Numpy(提供高性能的矩阵运算):用于数据挖掘和数据分析,同时也提供数据清洗功能. Pandas中常见的数据结构有两种: Series ...

  3. ctd数据 matlab,基于auv的ctd数据处理方法

    基于auv的ctd数据处理方法 [技术领域] [0001 ] 本发明涉及水下机器人技术领域,尤其涉及一种基于AUV (Autonomous underwater vehicle,无人无缆潜水器)获得的 ...

  4. 海量数据处理方法总结 常见大数据题目汇总

    海量数据处理方法大总结 方式一:分而治之/hash映射(哈希映射) + hashmap统计 + 快速/归并/堆排序(万能方法) 这种方法是典型的"分而治之"的策略,是解决空间限制最 ...

  5. matlab中离开网格的流量,数学建模【数据处理方法(一维、二维插值方法;数据拟合方法;插值and拟合的MATLAB实现)】...

    [学习网址:MOOC---郑州轻工业大学---数学建模与实验]数学建模专栏 笔记01[第1.2章][概述.软件介绍] 笔记02[第3章][数据处理方法] 笔记03[第4章][规划模型] 笔记04[第5 ...

  6. JS判断数据类型以及数据过滤空值方法

    JS判断数据类型以及数据过滤空值方法 在我们的项目开发中,经常需要对一个传输中的数据进行滤空处理,过滤 null.undefined.''.[].{}等,还要对字符串进行去除两端的空格操作.为此,我写 ...

  7. 在大数据时代,传统的数据处理方法还适用吗?

    大数据环境下的数据处理需求 大数据环境下数据来源非常丰富且数据类型多样,存储和分析挖掘的数据量庞大,对数据展现的要求较高,并且很看重数据处理的高效性和可用性. 传统数据处理方法的不足 传统的数据采集来 ...

  8. winform 统计大量数据重复的元素个数_面试系列:十个海量数据处理方法大总结...

    本文将简单总结下一些处理海量数据问题的常见方法.当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题.下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定 ...

  9. 数据缺失,数据异常,数据标准化的处理方法

    数据缺失 一.缺失值产生的原因 缺失值的产生的原因多种多样,主要分为机械原因和人为原因.机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败,存储器损坏,机械故障导致某段 ...

  10. Python_Pandas的ETL数据处理方法

    Python_Pandas的ETL数据处理方法 一.数据加载与导出 1. read_csv数据加载 2. to_csv写入文件并导出 二.数据清洗 1. 处理缺失值 1. info()发现缺失值 2. ...

最新文章

  1. 51nod 1038 X^A Mod P( N 次剩余)
  2. 函数参数传递常用的三种方式
  3. 网站前端和后台性能优化1
  4. ubuntu20.0.4如何更新软件源?快速更新阿里源步骤具体实现
  5. 华为机试——质数因子
  6. 安装和卸载mysql
  7. python爬取网页url_Python网络爬虫之利用urllib2通过URL抓取网页内容
  8. Hadoop运行错误——could only be replicated to 0 nodes, instead of 1
  9. csdn肿么了,这两天写的博文都是待审核
  10. 从CVPR2019看计算机视觉的最新趋势
  11. 【深入理解JS核心技术】13. 什么是高阶函数
  12. html如何修改字体黑体,css如何设置黑体样式?
  13. LiquidCrystal_I2C 显示不正常 只显示第一个首字符!
  14. 2021深圳杯数学建模D题概览
  15. WinRAR4.11激活
  16. 极光推送java demo_极光推送JAVA代码示例
  17. 判断合法标识符(c语言或c++)
  18. 新疆计算机操作题,新疆维吾尔自治区教师计算机操作题复习8套.pdf
  19. RHEL8.4系统镜像
  20. 10个国外设计网站(自学设计的童鞋建议收藏)

热门文章

  1. 龙世界java下载_龙世界3-龙王之剑
  2. 计算机更改虚拟内存有用吗,电脑虚拟内存有什么用(小白必知虚拟内存作用及设置技巧)...
  3. python编程入门自学
  4. 《数据结构与算法》(十八)- 平衡二叉树
  5. 有些参考文献找不到页码和期号怎么解决?
  6. WEB应用log4j1.x升级到log4j2.17.1
  7. c语言质因数分解算法蓝桥杯,【算法】 蓝桥杯 基础练习 分解质因数
  8. PLC同时连接多个触摸屏和电视机显示器解决方案
  9. matlab中gen2par函数,R语言中的par()函数终于明白了
  10. 树莓派 linux安装中文语言包6,Linux下给树莓派安装及配置系统-Go语言中文社区