Python数据挖掘:数据探索,数据清洗,异常值处理
生活随笔
收集整理的這篇文章主要介紹了
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" #所有空值改為18x += 1
print("The number of players under 18 is:",x)
?
異常值處理:
我跑不出來了,也不知道為什么一直算反正就是跑不出來,,,
希望有大佬能跑出來吧- -
# 異常值處理
# 畫散點圖(橫軸為id,縱軸為Age)
# 年齡異常:>100data2=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歲
?
總結
以上是生活随笔為你收集整理的Python数据挖掘:数据探索,数据清洗,异常值处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修一次c系奔驰汽车小刮痕印大概多少费用
- 下一篇: 求一个陆姓好听的名字!