数据处理

一  缺失值处理

  1 删除 dropna

  2 填充 / 替换 

    1)用中位数,众数,平均数

    2)用临近值替换 fillna / replace

    3)lagrange插值法

        from scipy.interpolate import lagrange

        可以写个函数,实现用lagrange差值

 

 

二  异常值处理

  1 找到异常值

    1)3σ原则

      在正态分布中σ代表标准差,μ代表均值。x=μ即为图像的对称轴

      3σ原则为

      数值分布在(μ-σ,μ+σ)中的概率为0.6827

      数值分布在(μ-2σ,μ+2σ)中的概率为0.9545

      数值分布在(μ-3σ,μ+3σ)中的概率为0.9973

      可以认为,Y 的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%

 

    2)箱型图分析

      相对来说箱型图可能用的比较多,而且,3σ原则特别极端才会显示。

  2 处理异常值

    采用缺失值一样的方式处理

 

三 数据标准化

  1)0-1标准化

    (series - min)/ (max-min)

    标准化数据
    经过处理的数据符合标准正态分布,即均值为0,标准差为1

  2)Z-score 标准化

    Z分数(z-score),是一个分数与平均数的差再除以标准差的过程 → z=(x-μ)/σ,其中x为某一具体分数,μ为平均数,σ为标准差

    Z值的量代表着原始分数和母体平均值之间的距离,是以标准差为单位计算。在原始分数低于平均值时Z则为负数,反之则为正数
     数学意义:一个给定分数距离平均数多少个标准差

    什么情况用Z-score标准化:

    在分类、聚类算法中,需要使用距离来度量相似性的时候,Z-score表现更好

 

四  数据连续属性离散化  discretization

  1)等宽法

    pd.cut(x,bins,labels)

      注意:1)x 为series,返回值 类型 是series。 x为列表,返回值类型 为 Categorical。这里我们用到的是 Categorical,因为有codes属性和          categories属性

         2)bins 可以接受int,和 列表,代表不同含义。

         3) labels 可以设置不同组的名称

 

  2)等频法

    pd.qcut()

      每个区间是等数量的。

    

posted @ 2019-11-23 12:06  骑者赶路  阅读(176)  评论(0编辑  收藏  举报