good data decides good analyse
數(shù)據(jù)清洗,是數(shù)據(jù)分析中不可缺少的一個(gè)環(huán)節(jié)蚊锹,其處理的好壞在很大程度上影響著數(shù)據(jù)分析的結(jié)果瞳筏。而且以前聽(tīng)老師說(shuō)過(guò)數(shù)據(jù)清洗占整個(gè)的數(shù)據(jù)分析的一半時(shí)間以上(汗。牡昆。姚炕。數(shù)據(jù)清洗也是一個(gè)大學(xué)問(wèn)啊)丢烘。
查看空缺值
首先讀入文件:
import pandas as pd
test = pd.read_excel('C:/Users/luopan/Desktop/test.xlsx',sheetname='Sheet1')
test
我們可以看出有一個(gè)nan柱宦,李四的數(shù)學(xué)成績(jī)也是不符合常理的。我們通過(guò)isnull函數(shù)查看數(shù)據(jù)的空缺值:
test.isnull()
通過(guò)下面命令計(jì)算每列數(shù)據(jù)的空缺值:
test.isnull().sum()
對(duì)于不符合常理的數(shù)據(jù)也可進(jìn)行設(shè)置為空缺值:
test1 = pd.read_excel('C:/Users/luopan/Desktop/test.xlsx',sheetname='Sheet1',na_values=['750'])
test1
過(guò)濾缺失值
test1.數(shù)學(xué)[test1.數(shù)學(xué).notnull()]
去掉缺失值
test1.dropna()
test1.dropna(how='all')
加入all參數(shù)的意思:行全為nan才會(huì)drop掉播瞳。
填充缺失值
前一個(gè)值填充:
test1.fillna(method='ffill')
后一個(gè)值填充:
test1.fillna(method='bfill')
用列的均值填充:
test1.fillna(test1.mean())
等距填充:
test1.interpolate()