本文參考《利用Python進(jìn)行數(shù)據(jù)分析》的第五章 pandas入門
4 處理缺失數(shù)據(jù)
缺失數(shù)據(jù)(missing data)在大部分?jǐn)?shù)據(jù)分析應(yīng)用中都很常見。Pandas的設(shè)計(jì)目標(biāo)之一就是讓缺失數(shù)據(jù)的處理任務(wù)盡量輕松。例如,pandas對象上的所有描述統(tǒng)計(jì)都排除了缺失數(shù)據(jù)。
pandas使用NaN表示缺失數(shù)據(jù)。
Python內(nèi)置的None也會(huì)被當(dāng)做NaN處理:
濾除缺失數(shù)據(jù)
對series,可以使用dropna()方法和布爾型索引達(dá)到濾除缺失數(shù)據(jù):
對于DataFrame,就有點(diǎn)復(fù)雜了,你可能希望丟棄全部是NAN或含有NAN的行或列。
dropna默認(rèn)丟棄任何含有缺失值的行,傳入how='all'則之丟棄全為NaN的行或列:
另一個(gè)參數(shù)是thresh,該參數(shù)的類型為整數(shù),它的作用是,比如 thresh=3,會(huì)在一行中至少有 3 個(gè)非 NA 值時(shí)將其保留。
填充缺失數(shù)據(jù)
有的時(shí)候可能不想濾除缺失數(shù)據(jù),而是希望通過其他方式填補(bǔ)那些“空洞”。對于大多數(shù)情況,fillna方法是最主要的函數(shù):
|
|