pandas 数据预处理最全流程

 

数据规约:

标准化数据大数变小数数值规约:

        离差标准化:

                公式:x = (x-min_val)/(max_val-min_val)

                范围【0-1】

                缺点:当极差过大时,标准化后数据差距过大,甚至部分小值趋近于0

标准差标准化:

                公式:x= (x-mean_val)/std_val

                范围: 统计(-4,4); 服从标准正态分布的数据(均值为0,标准差为1)

                缺点:标准化之后数据有负号

        小数定标标准化:

                公式:x  = x/10**k

                范围:【-1, 1】

                缺点:当出现绝对值极大值;标准化后数据差距过大,甚至部分小值趋近于0

        (三种方法的共同的特点:标准化后,数据大的仍比较大;数据小标准化后数据仍比较大;消除特征的量纲级影响)

特征量规约 :

            降维pca

转换数据:

     数据哑变量转换:非数值转换为数值:

                pd.get_dummies()

                X["部门"].astype('category').cat.codes

      数据离散化:连续数据转换为离散数据:

                pd.cut-等宽法:

                pd.cut(df['hight'], bins=4) 每个区间的宽度是一致的,即等宽法

                .cut(df['hight',bins=[140,150, 190]])

                pd.qcut:等频法:

        每个区间的数据量是一致的,pd.qcut(df['hight'], q=4)分四份,每组区间内数据量是一致的

合并数据:

直接合并/堆叠合并:

        左右合并:

                pd.concat( (df1,df2)  aixs=1)

                合并结果(在列的方向直接合并,取所有的列名称(重复不补合并),在行的方向,根据连接方式决定join=inner; 取行索引的交集,join=outer; 取行索引的并集)

上下合并:

                pd.concat( (df1,df2)  aixs=0)

                合并结果(在行的方向直接合并,取所有的行名称(重复行不合并),在列的方向,根据连接方式决定join=inner; 取列索引的交集,join=outer; 取列索引的并集)

        append:

                df1.append(df2)

                上下合并;通常用于列索引一致的情况下

                缺点:以索引作为参考

主键合并:

                pd.merge(left=df1, right=df2, on="", how="")

                仅能实现左右合并,on="" 主键,可以是一个主键,也可多个主键; left_on,right_on。how="inner"、outer、left、right。

重叠合并:

                df1.combine_first(df2)

                df1是主表,目的:两个不完整的表,合成一张相对完整的表。将主表的空值,用其他表中的非空值填充。

数据清洗:

    重复值清洗:

          重复行:df.drop_duplicates()

          重复列:内容完全一致,df['A'].equal(df['B'])

                        借助相关性:df[['A','B']].corr()

                       根据相关性的结果,删除极度相关的列【其中一种一列】

          清洗操作:删除

缺失值清洗:

        检测缺失值:

                df.info()

                df.isnull(),通过和sum结合使用

                df.notnull()

        处理方法:

                删除--dropna

                填充--fillna

                插值法

异常值清洗:

        检测异常值;

        具体业务法 

        3 sigma:要求:数据满足 或者 近似 正态分布,生活中大部分数据,在数据量足够大的情况下,通常满足正态分布。

        箱线图分析。

        处理方法:删除异常值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值