『壹』 數據清洗經驗分享:什麼是數據清洗 如何做好
如何去整理分析數據,其中一個很重要的工作就是數據清洗。數據清洗是指對「臟」數據進行對應方式的處理,臟在這里意味著數據的質量不夠好,會掩蓋數據的價值,更會對其後的數據分析帶來不同程度的影響。有調查稱,一個相關項目的進展,80%的時間都可能會花費在這個工作上面。因為清洗必然意味著要對數據有一定的理解,而這個工作是自動化或者說計算機所解決不了的難題,只能靠人腦對數據進行重新審查和校驗,找到問題所在,並通過一些方法去對對應的數據源進行重新整理。
清洗數據的方式大概可以分為以下幾類,篩選、清除、補充、糾正,例如:
去除不需要的欄位:簡單,直接刪除即可。但要記得備份。
填充缺失內容:以業務知識或經驗推測填充缺失值;以同一指標的計算結果(均值、中位數、眾數等)填充缺失值;以不同指標的計算結果填充缺失值。
格式不一致:時間、日期、數值、全半形等顯示格式不一致,這種問題通常與輸入端有關,在整合多來源數據時也有可能遇到,將其處理成一致的某種格式即可。例如一列當中儲存的是時間戳,某些跨國公司的不同部門在時間的格式上有可能存在差別,比如2019-01-12,2019/01/12等,這時候需要將其轉換成統一格式。
內容中有不需要的字元:某些情況使得有些數據中包含不需要的字元。例如從網路爬到的數據會包含一些編碼解碼的字元如%22,這種情況下,需要以半自動校驗半人工方式來找出可能存在的問題,並去除不需要的字元。
數據提取:例如咱們只有用戶身份證的信息,但是需要用戶生日一列,這時候我們可以直接從身份證號中按照一定規律將生日信息提取出來。
『貳』 如何進行數據清洗
數據清理是有一些步驟的,一般分為缺失值清洗,格式內容清洗,邏輯錯誤清洗,非需求數據清洗,關聯性驗證。
缺失值是最常見的數據問題,處理缺失值也有很多方法,我建議按照以下四個步驟進行:1、確定缺失值范圍:對每個欄位都計算其缺失值比例,然後按照缺失比例和欄位重要性,分別制定策略。
2、去除不需要的欄位:這一步很簡單,直接刪掉即可,但強烈建議清洗每做一步都備份一下,或者在小規模數據上試驗成功再處理全量數據。
3、填充缺失內容:某些缺失值可以進行填充。
4、重新取數:如果某些指標非常重要又缺失率高,那就需要和取數人員或業務人員了解,是否有其他渠道可以取到相關數據。
第二步:格式內容清洗
如果數據是由系統日誌而來,那麼通常在格式和內容方面,會與元數據的描述一致。而如果數據是由人工收集或用戶填寫而來,則有很大可能性在格式和內容上存在一些問題。
第三步:邏輯錯誤清洗
這部分的工作是去掉一些使用簡單邏輯推理就可以直接發現問題的數據,防止分析結果走偏。
第四步:非需求數據清洗
這一步說起來非常簡單:把不要的欄位刪了。
但實際操作起來,有很多問題。
第五步:關聯性驗證
如果你的數據有多個來源,那麼有必要進行關聯性驗證。例如,你有汽車的線下購買信息,也有電話客服問卷信息,兩者通過姓名和手機號關聯,要看一下同一個人線下登記的車輛信息和線上問卷問出來的車輛信息是不是同一輛,如果不是,那麼需要調整或去除數據。