赞
踩
实现功能:
python实现数据清洗,对重复记录、缺失值、异常值进行检测,并对其进行处理。
实现代码:
1 import numpy as np 2 import pandas as pd 3 4 def Read_data(file): 5 dt = pd.read_csv(file) 6 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'] 7 8 9 data =dt 10 pd.set_option('display.max_rows', None) 11 pd.set_option('display.max_columns', None) 12 pd.set_option('display.width', None) 13 pd.set_option('display.unicode.ambiguous_as_wide', True) 14 pd.set_option('display.unicode.east_asian_width', True) 15 print(data.head()) 16 return data 17 18 def data_clean(data): 19 # 重复值处理 20 print('存在' if any(data.duplicated()) else '不存在', '重复观测值') 21 data.drop_duplicates() 22 23 # 缺失值处理 24 print(data.isnull()) 25 print(data.isnull().sum()) #检测每列中缺失值的数量 26 print(data.isnull().T.sum()) #检测每行缺失值的数量 27 print('不存在' if any(data.isnull()) else '存在', '缺失值') 28 data.dropna() # 直接删除记录 29 data.fillna(method='ffill') # 前向填充 30 data.fillna(method='bfill') # 后向填充 31 data.fillna(value=2) # 值填充 32 data.fillna(value={'resting_blood_pressure': data['resting_blood_pressure'].mean()}) # 统计值填充 33 34 # 异常值处理 35 data1 = data['resting_blood_pressure'] 36 # 标准差监测 37 xmean = data1.mean() 38 xstd = data1.std() 39 print('存在' if any(data1 > xmean + 2 * xstd) else '不存在', '上限异常值') 40 print('存在' if any(data1 < xmean - 2 * xstd) else '不存在', '下限异常值') 41 # 箱线图监测 42 q1 = data1.quantile(0.25) 43 q3 = data1.quantile(0.75) 44 up = q3 + 1.5 * (q3 - q1) 45 dw = q1 - 1.5 * (q3 - q1) 46 print('存在' if any(data1 > up) else '不存在', '上限异常值') 47 print('存在' if any(data1 < dw) else '不存在', '下限异常值') 48 data1[data1 > up] = data1[data1 < up].max() 49 data1[data1 < dw] = data1[data1 > dw].min() 50 # print(data1) 51 52 if __name__=="__main__": 53 data1=Read_data("F:\数据杂坛\\0504\heartdisease\Heart-Disease-Data-Set-main\\UCI Heart Disease Dataset.csv") 54 data_clean(data1)
实现效果:
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。