資料預處理 缺失值分析與處理

2021-09-24 12:09:43 字數 1823 閱讀 1410

資料的缺失主要包括記錄的缺失和記錄中某個字段資訊的缺失,兩者都會造成分析結果的不準確。

資訊暫時無法獲取,或者獲取資訊的代價太大

有些資訊被遺漏或者被忽略,資料理解出錯等問題導致缺失值產生

資料採集裝置故障、儲存介質故障、傳輸**故障等非人為原因導致

屬性值不存在,某些情況下缺失值並不意味著資料有錯誤,如未婚者的配偶姓名,一名兒童的固定收入

一般採用簡單的統計分析,可以得到含有缺失值的屬性個數,以及每個屬性的未缺失數、缺失數與缺失率等。

1.刪除存在缺失值的記錄

2.對可能值進行插補

3.不做處理

1.資料檔案(來自書本配套資料檔案)

以下為資料檔案的部分截圖,2015-02-14的銷量資料為空。

對於乙個資料檔案,拿到後的第一件事就是檢視資料有哪些屬性,資料大概是什麼樣子的,因此可以通過head()或者tail()進行檢視

#匯入pandas模組

import pandas as pd

#讀取『xls』;型別的資料檔案

test_data = pd.read_excel('catering_sale.xls')

#列印前幾條資料,可指定,預設列印6行(包括**屬性行)

test_data.head()

# test_data.tail()#列印後幾條資料,可指定,,預設列印6行(包括**屬性行)

進一步檢視資料特徵,可以使用describe()進行檢視

可以看出,資料一共有200行,同時給出了資料中的均值、標準差、最大值、最小值,以及四分位數。

統計缺失值個數

其中日期屬性列缺失值個數為0,銷量屬性列缺失值為1

(1)缺失值處理——直接剔除缺失值記錄

#直接剔除缺失值

可以看出 2015-02-14的缺失值記錄被刪去了

(2)缺失值處理——缺失值插補

#缺失值插補

test_data.fillna(0)

此處選擇用0對缺失值進行填補,也可以選擇用均值進行填補

可以看出2015-02-14資料用0.0進行了填補

以上為簡單的資料缺失值分析處理,後續會可能繼續更新一些缺失值插補的一些演算法。

(本部落格資料**——《matlab資料分析與挖掘實戰》)

資料預處理 缺失值處理

資料中的缺失值是個非常棘手的問題,有很多文獻都致力於解決這個問題。資料缺失的含義是 假設有 n n 個樣本,每個樣本20個特徵。但在一些樣本中出於某種原因某個特徵無效,則就構不成乙個完整的樣本。對於這樣的問題,有些情況下是不能直接將其拋棄的,對其進行挽救就是缺失值處理 1 使用可用特徵的均值來填補缺...

資料預處理之缺失值處理

刪除法 刪除小部分樣本,在樣本量大時 刪除部分所佔比例小於5 時 可以使用 插補法 均值插補 分為定距型 插入均值 和非定距型 眾數或者中值 回歸插補 線性和非線性回歸 極大似然估計mle 正態分佈為例 極大似然原理的直觀想法我們用下面例子說明,在 權力的遊戲 中有個場景,老徒利死的時候,屍體放在穿...

pandas資料預處理 缺失值

缺失值的分類 按照資料缺失機制可分為 不可忽略的缺失 non ignorable missing nim 或非隨機缺失 not missing at random,nmar,or,missing not at random,mnar 如果不完全變數中資料的缺失既依賴於完全變數又依賴於不完全變數本身,...