Python数据挖掘:数据探索,数据清洗,异常值处理

来源:天善智能韦玮老师 课堂笔记
作者:Dust
探索性数据分析Exploratory Data Analysis,EDA

数据探索的核心是︰
1、数据质量分析(跟数据清洗密切联系)
2、数据特征分析(分布、对比、周期性、相关性、常见统计量等)

数据清洗可以按如下步骤进行︰
1、缺失值处理(通过describe与len直接发现、通过0数据发现)2、异常值处理(通过散点图发现)
一般遇到缺失值,处理方式为(删除、插补、不处理);
插补的方式主要有:均值插补、中位数插补、众数插补、固定值插补、最近数据插补、回归插补、拉格朗日插值、牛顿插值法、分段插值等等。
遇到异常值,一般处理方式为视为缺失值、删除、修补(平均数、中位数等等)、不处理。

代码中用到的文件:

链接:https://pan.baidu.com/s/1Oxr5XGtcA0HnRi4IUaVSLQ 
提取码:1234 
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享


数据清洗:

import pandas as pda
import numpy as npy
import matplotlib.pylab as pyl
import warnings
warnings.filterwarnings("ignore", category=Warning)

data=pda.read_csv("E:/Python3.7/data/starcraft1.csv")
print(data.describe())

# 数据清洗
# 发现缺失值

x = 0
print("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" #所有空值改为18
            x += 1
print("The number of players under 18 is:",x)


 

异常值处理:

我跑不出来了,也不知道为什么一直算反正就是跑不出来,,,

希望有大佬能跑出来吧- -

# 异常值处理
# 画散点图(横轴为id,纵轴为Age)
# 年龄异常:>100

data2=data.T
id=data2.values[0]
age=data2.values[1]
pyl.plot(id,age)
pyl.show()
line=len(data.values)
col=len(data.values[0])
da=data.values
for 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岁

 

全部评论

相关推荐

07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
不亏是提前批,神仙打架,鼠鼠不配了
站队站对牛:现在92都报工艺岗了
投递韶音科技等公司7个岗位
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务