Pandas数据预处理|数据清理

Pandas数据预处理(Data Preprocess)—数据清理

日期:2021/4/27

作者:就叫易易好了

注:本篇文章采用的数据集为“vgsales.csv”,下载链接:https://pan.baidu.com/s/11sfiIqvg8ous655-ZFGW2w 提取码:u22s

文章目录

  • Pandas数据预处理(Data Preprocess)—数据清理
    • 数据预处理的主要任务
      • 数据清理
        • 一、缺失值
        • 1、检查
        • 2、删除数据
        • 3、替换数据
        • 二、噪声数据(Noisy data)
          • 1、分箱(binning)
          • 2、回归(regression)
          • 3、离群点分析(outlier analysis)

在对一个数据集进行挖掘之前,一定要先对这个数据集进行数据预处理。因为数据库一般比较庞大,会有一些缺失值,噪点值等等。我们要将这些低质量的值进行清理,从而提高数据挖掘的质量。

​ 数据质量的三要素是:准确性,完整性,一致性,而不准确,不完整,不一致的数据集是现实大型数据库的一个普遍的特点。

​ 导致这些现象产生的原因可能是:

  • 收集数据的设备可能出现故障
  • 人或计算机的错误导致
  • 用户不希望提交个人信息,故意输入不正确的数据,这成为被掩盖的缺失数据

数据预处理的主要任务

  • 数据清理(data cleaning):通过填写缺失的值,光滑噪声数据,识别或删除离群点

  • 数据集成(data integration):分析使用来自多个数据源的数据,这要集成多个数据库,数据立方体或文件,即数据集成

  • 数据归约(data reduction):得到的数据集简化表示,它小得多,但能够产生同样的分析结果

    • 维归约:使用数据编码方案,以便得到原始数据的简化或“压缩”表示。
    • 数值归约:使用参数模型或非参数模型,用较小的表示取代数据。
  • 数据变换(data transformation):离散化与概念分层产生是强有力的工具,因为它们是的数据的挖掘可以在多个抽象层上进行。规范化,数据离散化和概念分层产生都是某种形式的数据变换。

数据清理

一、缺失值

​ 在数据仓库中,会注意到很多元组的一些属性没有记录值,我们可以用以下方法来解决这个问题:

  • 忽略元组:直接将缺少数据的整个元组忽略掉,但是该元组可能有其他的数据对结果很有影响,所以这种方法并不是很有效
  • 人工填写缺失值:直接填写确实的值,但是如果这个数据库很庞大的话,这种方法挺废人
  • 使用一个全局变量填充缺失值:将缺失值的属性用一个常量(例如“unknown”)表示,但挖掘程序可能误以为是形成了一个有趣的概念,因为他们都有相同的值“unknown”,因此,这个方法不可靠
  • 使用属性的中心度量(例如中位数,均值)填充缺失值:对于对称的数据分布可以使用均值,对于倾斜式的数据分布可以使用中位数
  • 使用与给定元组属同一类的所有样本的属性均值或者中位数:例如基金数据库,可以根据相同信用风险的顾客的平均收入来代替确实的收入值
  • 使用最可能的值填充缺失值:可以使用回归,贝叶斯形式化方法的基于推理的工具或决策树归纳确定
1、检查
DataFrame.isnull()

这句代码可以检查DataFrame里的每一个数据是否缺失,返回的是bool值。

你可能感兴趣的:(学习笔记,数据挖掘,python,机器学习)