Python數據分析之數據清洗
good data decides good analyse
數據清洗,是數據分析中不可缺少的一個環節,其處理的好壞在很大程度上影響著數據分析的結果。而且以前聽老師說過數據清洗占整個的數據分析的一半時間以上(汗。。。數據清洗也是一個大學問啊)。
查看空缺值
首先讀入文件:
import pandas as pdntest = pd.read_excel(C:/Users/luopan/Desktop/test.xlsx,sheetname=Sheet1)ntestn
我們可以看出有一個nan,李四的數學成績也是不符合常理的。我們通過isnull函數查看數據的空缺值:
test.isnull()n
通過下面命令計算每列數據的空缺值:
test.isnull().sum()n
對於不符合常理的數據也可進行設置為空缺值:
test1 = pd.read_excel(C:/Users/luopan/Desktop/test.xlsx,sheetname=Sheet1,na_values=[750])ntest1n
過濾缺失值
test1.數學[test1.數學.notnull()]n
去掉缺失值
test1.dropna()n
test1.dropna(how=all)n
加入all參數的意思:行全為nan才會drop掉。
填充缺失值
前一個值填充:
test1.fillna(method=ffill)n
後一個值填充:
test1.fillna(method=bfill)n
用列的均值填充:
test1.fillna(test1.mean())n
等距填充:
test1.interpolate()n
作者:羅羅攀 Python愛好者社區專欄作者,請勿轉載,謝謝。
簡書主頁:羅羅攀 - 簡書博客專欄:羅羅攀的博客
配套視頻教程:Python3爬蟲三大案例實戰分享:貓眼電影、今日頭條街拍美圖、淘寶美食 Python3爬蟲三大案例實戰分享 公眾號:Python愛好者社區(微信ID:python_shequ),關注,查看更多連載內容。
推薦閱讀:
※Python練習第六題,生成隨機字母
※C/C++ 這類更底層的語言,如果把平時常用的高級函數和功能都實現,能否達到 Python 的開發效率?
※numpy(一)——入門
※python exec in d 是往d中填充數據?