python 数据挖掘 培训视频下利用Pandas进行数据清洗
在許多數(shù)據(jù)分析工作中,數(shù)據(jù)中經(jīng)常會有缺失數(shù)據(jù)情況。Pandas的目標(biāo)之?就是盡量輕松地處理缺失數(shù)據(jù)。
01
檢測與處理缺失值
Pandas對象的所有描述性統(tǒng)計(jì)默認(rèn)都不包括缺失數(shù)據(jù)。對于數(shù)值數(shù)據(jù),Pandas使用浮點(diǎn)值NaN表示缺失數(shù)據(jù)。
1
缺失值的檢測與統(tǒng)計(jì)
函數(shù)isnull可以直接判斷該列中的哪個(gè)數(shù)據(jù)為NaN。
【例4-1】利用isnull檢測缺失值。
在Pandas中,缺失值表示為NA,它表示不可用(not available)。在統(tǒng)計(jì)應(yīng)用中,NA數(shù)據(jù)可能是不存在的數(shù)據(jù),或者存在卻沒有觀察到的數(shù)據(jù)(例如數(shù)據(jù)采集中發(fā)生了問題)。當(dāng)清洗數(shù)據(jù)用于分析時(shí),最好直接對缺失數(shù)據(jù)進(jìn)行分析,以判斷數(shù)據(jù)采集問題或缺失數(shù)據(jù)可能導(dǎo)致的偏差。Python內(nèi)置的None值也會被當(dāng)做NA處理。
【例4-2】Series中的None值處理。
2
缺失值的統(tǒng)計(jì)
【例4-3】利用isnull.sum統(tǒng)計(jì)缺失值。
另外,通過info方法,也可以查看DataFrame每列數(shù)據(jù)的缺失情況。
【例4-4】用info方法查看DataFrame的缺失值。
02
缺失值的處理
1
刪除缺失值
在缺失值的處理方法中,刪除缺失值是常用的方法之一。通過dropna方法可以刪除具有缺失值的行。
dropna方法的格式:
dropna(axis= 0, how=‘a(chǎn)ny’, thresh= None, subset= None, inplace= False)
dropna的參數(shù)及其使用說明見表4-1。
▍表4-1 dropna的參數(shù)及其使用說明
對于Series,dropna返回一個(gè)僅含非空數(shù)據(jù)和索引值的Series。
【例4-5】Series的dropna用法。
當(dāng)然,也可以通過布爾型索引達(dá)到這個(gè)目的。
【例4-6】布爾型索引選擇過濾非缺失值。
對于DataFrame對象,dropna默認(rèn)丟棄任何含有缺失值的行。
【例4-7】DataFrame對象的dropna默認(rèn)參數(shù)使用。
傳入how=‘a(chǎn)ll’將只丟棄全為NA的那些行。
【例4-8】傳入?yún)?shù)all。
如果用同樣的方式丟棄dataframe的列,只需傳入axis = 1即可。
【例4-9】dropna中的axis參數(shù)應(yīng)用。
可以?thresh參數(shù),當(dāng)傳入thresh = N時(shí),表示要求一行至少具有N個(gè)非NaN才能保留。
【例4-10】dropna中的thresh參數(shù)應(yīng)用。
2
填充缺失值
直接刪除缺失值的樣本并不是一個(gè)很好的方法,因此可以用一個(gè)特定的值替換缺失值。缺失值所在的特征為數(shù)值型時(shí),通常利用其均值、中位數(shù)和眾數(shù)等描述其集中趨勢的統(tǒng)計(jì)量來填充;缺失值所在特征為類別型數(shù)據(jù)時(shí),則選擇眾數(shù)來填充。Pandas庫中提供了缺失值替換的方法fillna。
fillna的格式如下,參數(shù)及其說明見表4-2。
pandas.DataFrame.fillna(value= None,method= None,asxi= None,inplace= False,limit= None)
▍表4-2 fillna參數(shù)及其說明
通過一個(gè)常數(shù)調(diào)用fillna就會將缺失值替換為那個(gè)常數(shù)值,如df.fillna(0)用零代替空缺值,也可以通過一個(gè)字典調(diào)用fillna,就可以實(shí)現(xiàn)對不同的列填充不同的值。
【例4-11】通過字典形式填充缺失值。
fillna默認(rèn)會返回新對象,但也可以通過參數(shù)inplace = True對現(xiàn)有對象進(jìn)行就地修改。對reindex有效的那些插值方法也可用于fillna。
【例4-12】fillna中method的應(yīng)用。
可以利用fillna實(shí)現(xiàn)許多別的功能。比如可以傳入Series 的平均值或中位數(shù)。
【例4-13】用Series的均值填充。
【例4-14】DataFrame中用均值填充。
3
數(shù)據(jù)值替換
數(shù)據(jù)值替換是將查詢到的數(shù)據(jù)替換為指定數(shù)據(jù)。在Pandas中通過replace進(jìn)行數(shù)據(jù)值的替換。
【例4-15】replace替換數(shù)據(jù)值。
也可以同時(shí)對不同值進(jìn)行多值替換,參數(shù)傳入的方式可以是列表也可以是字典格式。傳入列表是第一個(gè)列表為被替換的值,第二個(gè)列表中是對應(yīng)替換的值。
【例4-16】replace傳入列表實(shí)現(xiàn)多值替換。
【例4-17】replace傳入字典實(shí)現(xiàn)多值替換。
4
利用函數(shù)或映射進(jìn)行數(shù)據(jù)轉(zhuǎn)換
在數(shù)據(jù)分析中,經(jīng)常需要進(jìn)行數(shù)據(jù)的映射或轉(zhuǎn)換,在Pandas中可以自定義函數(shù),然后通過map方法實(shí)現(xiàn)。
【例4-18】map方法映射數(shù)據(jù)。
5
異常數(shù)據(jù)檢測
異常值是指數(shù)據(jù)中存在的數(shù)值明顯偏離其余數(shù)據(jù)的值。異常值的存在會嚴(yán)重干擾數(shù)據(jù)分析的結(jié)果,因此經(jīng)常要檢驗(yàn)數(shù)據(jù)中是否有輸入錯(cuò)誤或含有不合理的數(shù)據(jù)。在利用簡單的數(shù)據(jù)統(tǒng)計(jì)方法中一般常用散點(diǎn)圖、箱線圖和3σ法則。
1
散點(diǎn)圖方法
通過數(shù)據(jù)分布的散點(diǎn)圖發(fā)現(xiàn)異常數(shù)據(jù)。
【例4-19】利用散點(diǎn)圖檢測異常值。
2
箱線圖分析
箱線圖利用數(shù)據(jù)中的五個(gè)統(tǒng)計(jì)量(最小值、下四分位數(shù)、中位數(shù)、上四分位數(shù)和最大值)來描述數(shù)據(jù),它也可以粗略地看出數(shù)據(jù)是否具有對稱性、分布的分散程度等信息。
【例4-20】利用箱線圖分析異常值。
3
3σ法則
若數(shù)據(jù)服從正態(tài)分布,在3σ原則下,異常值被定義為一組測定值中與平均值的偏差超過3倍標(biāo)準(zhǔn)差的值,因?yàn)樵谡龖B(tài)分布的假設(shè)下,距離平均值3σ之外的值出現(xiàn)的概率小于0.003。因此根據(jù)小概率事件,可以認(rèn)為超出3σ之外的值為異常數(shù)據(jù)。
【例4-21】利用3σ法則檢測異常值。
03
視頻講解
04
參考書籍
《Python數(shù)據(jù)數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)-微課視頻版》
ISBN:9787302572992
魏偉一 編著
定價(jià):59.8 元
內(nèi)容簡介
本書內(nèi)容豐富,循序漸進(jìn),以數(shù)據(jù)挖掘框架為主線,系統(tǒng)地介紹了數(shù)據(jù)挖掘技術(shù)的基本原理、方法和實(shí)踐應(yīng)用,全面反映了數(shù)據(jù)挖掘的理論體系和應(yīng)用的最新進(jìn)展。課程既討論數(shù)據(jù)挖掘的基本理論知識和框架體系結(jié)構(gòu),又介紹了數(shù)據(jù)挖掘算法的Python實(shí)現(xiàn)與應(yīng)用,強(qiáng)調(diào)了理論與實(shí)踐相結(jié)合,基礎(chǔ)知識與前沿發(fā)展相結(jié)合。本書可作為計(jì)算機(jī)數(shù)據(jù)科學(xué)相關(guān)專業(yè)高年級本科生、碩士研究生的軟件挖掘教材,同時(shí)也可以作為對Python數(shù)據(jù)挖掘感興趣讀者的自學(xué)參考書。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.
總結(jié)
以上是生活随笔為你收集整理的python 数据挖掘 培训视频下利用Pandas进行数据清洗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ISIS的vsys(虚拟系统)
- 下一篇: js逆向 签名参数解析 驾考数据科目一科