數據清洗


數據清洗是數據分析過程中一個非常重要的環節,數據清洗的結果直接關系到模型效果和最終結論。在實際中,數據清洗通常會占數據分析整個過程的50%-80%的時間。下面介紹以下數據清洗主要的步驟和任務。

1.數據預處理階段

該階段的主要任務是將數據導入數據庫中,然后查看數據:對數據有個基本的了解,並且初步發現一些問題,為之后的處理做准備。

2.缺失值清洗

缺失值是最常見的數據問題,處理缺失值的方法:

(1).確定缺失值的范圍:對每個字段計算其缺失值的比例,然后按照缺失比例和字段的重要性,采用以下策略:

 

(2).去除不需要的字段:直接刪掉(建議每做一次清洗前都備份以下)

(3).填充缺失內容:對於缺失值的填充有以下三種方法

  • 以業務知識、常識或經驗推測其缺失值並填充
  • 用同一指標的計算機結果(均值、中位數、眾數等)填充缺失值
  • 以不同指標的計算機結果填充缺失值(比如數據本身和它的其他數據相關,比如身份證號的生日那一部分)

(4).重新取數:對於比較重要且缺失率比較高的,考慮重新從其他渠道再取一次數據。

3.格式內容清洗

(1) 時間、日期、數值、全半角等顯示格式不一致

將其處理成一致的某種格式即可

(2)內容中有不該存在的字符

比如空格或者身份證號出現漢字,這種典型的不合理字符。需要半自動校驗半人工方式來找出可能存在的問題,並去除不合理字符。

(3) 出現不符合該字段的內容

比如姓名寫成了性別這種問題。該問題特殊性在於:不能簡單的用刪除來處理,因為成因有可能是人工填寫錯誤,也有可能是前端設計沒有校驗,還有可能是導入數據時部分或全部存在列沒有對齊的問題,因此要詳細識別問題類型。

4.邏輯錯誤清洗

(1)去重

有的時候去重不是簡單的刪除就可以的。

(2)去除不合理值

比如有的人填表隨便填,年齡寫190,就明顯不合理,這種數據有兩種方式:一種直接刪除;一種直接按缺失值處理。

(3)修正矛盾內容

比如身份證號中有的數據可以和其他字段驗證的,比如年齡,有時候身份證號的年齡和年齡字段中的年齡矛盾,這種就需要根據字段的數據來源,看哪個字段更可靠,去除或者重置不可靠的字段。

5.非需求數據清洗(也就是不需要的字段)

建議:如果一點都無關可以刪了,其他的除非數據量大到不刪除字段就沒辦法處理的程度,那么能不刪就不刪。盡量勤備份。

總之勤備份,多觀察,選擇合適的方法對數據進行處理。

原作者:https://blog.csdn.net/wyqwilliam/article/details/84801095

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM