来源:天善智能韦玮老师 课堂笔记
作者:Dust
探索性数据分析Exploratory Data Analysis,EDA
数据探索的核心是︰
1、数据质量分析(跟数据清洗密切联系)
2、数据特征分析(分布、对比、周期性、相关性、常见统计量等)
数据清洗可以按如下步骤进行︰
1、缺失值处理(通过describe与len直接发现、通过0数据发现)2、异常值处理(通过散点图发现)
一般遇到缺失值,处理方式为(删除、插补、不处理);
插补的方式主要有:均值插补、中位数插补、众数插补、固定值插补、最近数据插补、回归插补、拉格朗日插值、牛顿插值法、分段插值等等。
遇到异常值,一般处理方式为视为缺失值、删除、修补(平均数、中位数等等)、不处理。
代码中用到的文件:
链接:/s/1Oxr5XGtcA0HnRi4IUaVSLQ
提取码:1234
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享
数据清洗:
import pandas as pdaimport numpy as npyimport matplotlib.pylab as pylimport warningswarnings.filterwarnings("ignore", category=Warning)data=pda.read_csv("E:/Python3.7/data/starcraft1.csv")print(data.describe())# 数据清洗# 发现缺失值x = 0print("len=",len(data))data["Age"][(data["Age"]<18)]=None # 所有18岁以下的设置为空值for i in data.columns:for j in range(len(data)):if(data[i].isnull())[j]:data[i][j]="18" #所有空值改为18x += 1print("The number of players under 18 is:",x)
异常值处理:
我跑不出来了,也不知道为什么一直算反正就是跑不出来,,,
希望有大佬能跑出来吧- -
# 异常值处理# 画散点图(横轴为id,纵轴为Age)# 年龄异常:>100data2=data.Tid=data2.values[0]age=data2.values[1]pyl.plot(id,age)pyl.show()line=len(data.values)col=len(data.values[0])da=data.valuesfor i in range(0,line):for j in range(0,col):if(da[i][1]>100): # 找到年龄大于100的玩家print(data[i][j]) # 打印出玩家的信息da[i][1]=50 # 强制变为50岁
如果觉得《Python数据挖掘:数据探索 数据清洗 异常值处理》对你有帮助,请点赞、收藏,并留下你的观点哦!