(3)pandas 缺失數據處理

步驟一、環境準備

右擊桌面上選擇【Open in Terminal】 打開終端。
在彈出的終端中輸入【ipython】進入Python的解釋器中,如圖1所示。python

 

圖1 ipython解釋器

步驟二、導入所須要的包

導入實驗經常使用的python包。如圖2所示。
【import pandas as pd】pandas用來作數據處理。
【import numpy as np】numpy用來作高維度矩陣運算.
【import matplotlib.pyplot as plt】matplotlib用來作數據可視化。dom

 

圖2 導入所須要的包

步驟三、pandas缺失數據過濾

生成實驗所須要的數據,如圖3所示。
【dates = pd.date_range(‘20170101’,’20170106’)】生成6個索引
【df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list(‘ABCD’))】生成初始數據
【df.loc[dates[0],’B’] = np.nan】設置第一行B列爲空
【df.loc[dates[3:5],’D’] = np.nan】設置第4至6行D列爲空
【df】查看生成的數據函數

 

圖3 生成數據

dropna()函數一樣會丟掉全部含有空元素的數據,如圖4所示。
【df.dropna()】丟失掉含有空元素的數據
【df.dropna(how=’any’)】等同於上條命令
【df.loc[dates[5]] = np.nan】設置最後一行書據爲空
【df】查看生成的數據
【df.dropna(how=’all’)】只有全部數據爲空時纔會丟棄spa

 

圖4 數據過濾1


若是想以一樣的方式按列丟棄,能夠傳入axis=1,如圖5所示
【df[‘E’] = np.nan】 增長一所有爲空的列
【df】查看生成的數據
【df.dropna(how=’all’,axis=1)】列數據都爲空時丟棄
索引

圖5 數據過濾2

步驟四、pandas缺失值填充

對缺失值進行填充,如圖6所示。
【df】查看數據
【df.filna(0)】對缺失部分用0填充
【df.fillna({‘A’:10,’B’:20,’C’:30,’D’:40,’E’:50})】傳入一個字典,對不一樣的列填充
【pd.isnull(df)】布爾填充,是否爲空ip

 

圖6 缺失值填充
相關文章
相關標籤/搜索