美文网首页
python实现数据清洗(重复值+缺失值+异常值处理)

python实现数据清洗(重复值+缺失值+异常值处理)

作者: V数据杂坛 | 来源:发表于2022-05-21 11:06 被阅读0次

实现功能:

python实现数据清洗,对重复记录、缺失值、异常值进行检测,并对其进行处理。

实现代码:

# 导入需要的库

import numpy as np

import pandas as pd

def Read_data(file):

    dt = pd.read_csv(file)

    dt.columns = ['age', 'sex', 'chest_pain_type', 'resting_blood_pressure', 'cholesterol',

                  'fasting_blood_sugar', 'rest_ecg', 'max_heart_rate_achieved','exercise_induced_angina',

                  'st_depression', 'st_slope', 'num_major_vessels', 'thalassemia', 'target']

    data =dt

    pd.set_option('display.max_rows', None)

    pd.set_option('display.max_columns', None)

    pd.set_option('display.width', None)

    pd.set_option('display.unicode.ambiguous_as_wide', True)

    pd.set_option('display.unicode.east_asian_width', True)

    print(data.head())

    return data

def data_clean(data):

    # 数据清洗

    # 重复值处理

    print('存在' if any(data.duplicated()) else '不存在', '重复观测值')

    data.drop_duplicates()

    # 缺失值处理

    print(data.isnull())

    print(data.isnull().sum())  #检测每列中缺失值的数量

    print(data.isnull().T.sum())    #检测每行缺失值的数量

    print('不存在' if any(data.isnull()) else '存在', '缺失值')

    data.dropna()  # 直接删除记录

    data.fillna(method='ffill')  # 前向填充

    data.fillna(method='bfill')  # 后向填充

    data.fillna(value=2)  # 值填充

    data.fillna(value={'resting_blood_pressure': data['resting_blood_pressure'].mean()})  # 统计值填充

    # 异常值处理

    data1 = data['resting_blood_pressure']

    # 标准差监测

    xmean = data1.mean()

    xstd = data1.std()

    print('存在' if any(data1 > xmean + 2 * xstd) else '不存在', '上限异常值')

    print('存在' if any(data1 < xmean - 2 * xstd) else '不存在', '下限异常值')

    # 箱线图监测

    q1 = data1.quantile(0.25)

    q3 = data1.quantile(0.75)

    up = q3 + 1.5 * (q3 - q1)

    dw = q1 - 1.5 * (q3 - q1)

    print('存在' if any(data1 > up) else '不存在', '上限异常值')

    print('存在' if any(data1 < dw) else '不存在', '下限异常值')

    data1[data1 > up] = data1[data1 < up].max()

    data1[data1 < dw] = data1[data1 > dw].min()

    # print(data1)

if __name__=="__main__":

    data1=Read_data("F:\数据杂坛\\0504\heartdisease\Heart-Disease-Data-Set-main\\UCI Heart Disease Dataset.csv")

    data_clean(data1)

实现效果:

喜欢记得点赞,在看,收藏,

关注V订阅号:数据杂坛,获取完整代码和效果,将持续更新!

相关文章

  • 数据清洗

    数据清洗:删除原始数据集中的无关数据,重复数据,平滑噪声数据,处理缺失值和异常值 缺失值的处理:删除记录 数据插补...

  • 第3章 11条数据化运营不得不知道的数据预处理经验

    目录:3.1 数据清洗:缺失值、异常值和重复值的处理3.2 将分类数据和顺序数据转化为标志变量3.3 大数据时代的...

  • day80-数据清洗及数据库连接

    1数据清洗 1.1缺失数据处理 isnull检测缺失值;dropna删除缺失值;python内置的none值在对象...

  • 数据分析—网易考拉口红数据分析

    一 数据读取 二 数据清洗 2.1 重复数据处理 重复值进行删除处理 并没有重复数据 2.2 缺失值处理 查看是否...

  • 数据分析框架

    数据质量分析 一、脏数据包括: 缺失值、异常值、不一致的值、重复数据及含有特殊符号的数据。 1.缺失值处理: 删除...

  • 机器学习基础与实践(一)数据清洗

    数据清洗一般包括以下几个步骤: 1、分析数据 2 、缺失值处理 3 、异常值处理 4 、去重处理 5 、噪音数据处...

  • 利用R进行脏数据清洗

    在进行正式的数据分析之前,必须要保证数据的质量,故而我们要处理缺失值、异常值这些脏数据。 一、缺失值 缺失值的处理...

  • SAS数据的合并

    数据的清洗和加工 一般包括数据合并、比较、缺失值的查询和填补、查找重复值和异常值、生成数据子集、产生新变量等,以适...

  • 缺失值处理1

    数据预处理步骤有数据清洗、数据集成、数据变换、数据规约。实际工作中不是每一步都必须。 数据清洗包括缺失值和异常值,...

  • pandas数据缺失值|异常值|重复值处理

    缺失值处理 检测异常值 检测异常值的方法:https://blog.csdn.net/qianfeng_dashu...

网友评论

      本文标题:python实现数据清洗(重复值+缺失值+异常值处理)

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