在收集資料的時候常常會遇到資料缺失,可能由於漏填,可能由於感測器故障,也可能就是邏輯上應該的(比如未婚女生問卷上先生一欄肯定是空出來的缺失值)。不管如何缺失值需要在進一步資料分析前要進行相應的處理。
預覽本節處理缺失值採用了以下幾個方案:
剔除用固定值補充
用平均數補充 例子
小呆被交代一項任務,統計一下這個星期各個洗髮露的銷量,小呆開啟營銷同事的記錄本shampoo_sales.csv,看到
shampoo_sales.csv
品牌,日期,銷量
沙宣,星期一,200
沙宣,星期二,185
沙宣,星期三,
沙宣,星期四,210
沙宣,星期五,201
沙宣,星期六,223
沙宣,星期日,195
欸,星期三的銷量怎麼沒有了,可能是銷售人員忘填了吧,算了先導入再說,於是寫下**
import pandas as pd
sales = pd.read_csv(
'shampoo_sales.csv'
, encoding =
'gb2312'
)sl2 = sales.set_index(
['品牌'
,'日期'])
.unstack(
)print
(sl2)
結果如下:
銷量
日期 星期一 星期二 星期三 星期四 星期五 星期六 星期日
品牌
沙宣 200.0 185.0 nan 210.0 201.0 223.0 195.0
這個星期三的銷量是缺失的,怎麼辦?要不就刪除了吧,於是小呆寫下**
sl3 = sl2.dropna(
)print
(sl3)
結果如下:
銷量
日期 星期一 星期二 星期四 星期五 星期六 星期日
品牌
沙宣 200.0 185.0 210.0 201.0 223.0 195.0
好像缺少了星期三也怪怪的,那這個星期三的缺失值應該怎麼補呢?小呆有點犯難,要不拿去年的日銷量補一下,小呆寫下**
sl2[sl2.isna()]
=100
print
(sl2)
結果如下:
銷量
日期 星期一 星期二 星期三 星期四 星期五 星期六 星期日
品牌
沙宣 200.0 185.0 100.0 210.0 201.0 223.0 195.0
這好像差別有點大啊,對了,這週在搞**,看來用去年的日銷量好像不太對,那要不就用這週的平均數吧,於是小呆把上面兩行**刪掉,重新寫下**
sl2[sl2.isna()]
= sales.dropna(
).mean()[
'銷量'
]print
(sl2)
結果如下:
銷量
日期 星期一 星期二 星期三 星期四 星期五 星期六 星期日
品牌
沙宣 200.0 185.0 202.333333 210.0 201.0 223.0 195.0
嗯,這樣看起來差不多了,於是小呆把整理好的結果交了上去。
小瓜講機器學習——分類演算法(一)logistic regression(邏輯回歸)演算法原理詳解
小瓜講機器學習——分類演算法(二)支援向量機(svm)演算法原理詳解
小瓜講機器學習——分類演算法(三)樸素貝葉斯法(***** bayes)待續
資料分析
小呆學資料分析——使用pandas中的merge函式進行資料集合並
小呆學資料分析——使用pandas中的concat函式進行資料集堆疊
小呆學資料分析——pandas中的層次化索引
小呆學資料分析——使用pandas的pivot進行資料重塑
小呆學資料分析——用duplicated/drop_duplicates方法進行重複項處理
小呆學資料分析——缺失值處理(一)
小呆學資料分析——異常值判定與處理(一)
小瓜講資料分析——資料清洗
資料視覺化
小瓜講資料分析——資料視覺化工程(matplotlib庫使用基礎篇)
小瓜講matplotlib高階篇——座標軸設定(座標軸居中、座標軸箭頭、刻度設定、標識設定)
小呆學資料分析 異常值判定與處理(一)
在收集資料的過程中,可能由於人為錄入錯誤等原因,會出現明顯不合法的資料,需要在進一步分析之前對這些值進行判定並且處理,才能得到合理的資料分析和挖掘的結果。預覽對異常值採用以下方案判定 區間判定 普通統計量 箱型圖判定 例子 小呆被交代一項任務,統計一下這個星期各個洗髮露的銷量,小呆開啟營銷同事的記錄...
資料分析中的缺失值處理
沒有高質量的資料,就沒有高質量的資料探勘結果,資料值缺失是資料分析中經常遇到的問題之一。當缺失比例很小時,可直接對缺失記錄進行捨棄或進行手工處理。但在實際資料中,往往缺失資料占有相當的比重。這時如果手工處理非常低效,如果捨棄缺失記錄,則會丟失大量資訊,使不完全觀測資料與完全觀測資料間產生系統差異 對...
資料分析中的缺失值處理
沒有高質量的資料,就沒有高質量的資料探勘結果,資料值缺失是資料分析中經常遇到的問題之一。當缺失比例很小時,可直接對缺失記錄進行捨棄或進行手工處理。但在實際資料中,往往缺失資料占有相當的比重。這時如果手工處理非常低效,如果捨棄缺失記錄,則會丟失大量資訊,使不完全觀測資料與完全觀測資料間產生系統差異 對...