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中填充數據?

TAG:Python | 数据分析 | 数据清洗 |