数据清洗

作者: 凌霄文强 | 来源:发表于2019-04-24 15:12 被阅读0次

    数据类型转换

    • 查看数据类型
      data.dtypes
    • 将不同的数据类型进行转换
      data['id'].astype(type_name) # str, float, int
      pd.to_datetime(data['date'], format='%Y-%m-%d')

    冗余数据处理

    • 判断是否存在冗余
      data.duplicated().any() # 当数据行出现重复时,返回True
    • 删除冗余数据
      data.drop_duplicates() # 删除冗余数据,inplace=True可以将原数据进行替换
      可以指定subset=[feature],表示当指定的特征重复时就认为数据是重复的

    缺失值处理

    • 判断是否存在缺失值
      data.isnull()
    • 删除法
      缺失行的比例非常低(删除行)
      data.drop(labels=data.index[data['id'].isnull()], axis=0)
      缺失值所对应的特征比例非常高(删除列)
      data.drop(labels='id', axis=1, inplace=True)
    • 替换法
      直接利用缺失特征的均值、中位数或众数对缺失值进行替换,速度快,但容易产生有偏估计,导致缺失值替换的准确性下降。
      data.fillna(value={'id1':data['id1'].mode()[0], 'id2':data['id2'].mean()}, inplace=True) # 众数、平均数
    • 插补法
      利用监督学习对缺失值进行预测,准确性高,慢。

    异常值处理

    • 识别
      图形法和建模法
    • 箱线图
      异常点:变量的数据值大于箱线图的上须或者小于箱线图的下须
    异常情况 判断方法
    异常点 x>Q3+1.5(Q3-Q1)或者x<Q1-1.5(Q3-Q1)
    极端异常点 x>Q3+3(Q3-Q1)或者x<Q1-3(Q3-Q1)
    • 正态分布图
    异常情况 判断方法
    异常点 均值的2标准差邻域之外
    极端异常点 均值的3标准差邻域之外

    相关文章

      网友评论

        本文标题:数据清洗

        本文链接:https://www.haomeiwen.com/subject/lpuwgqtx.html