數據清理與數據整理

吳傑
Mar 23, 2022

--

網路的圖

許多人都知道,在整個數據分析的流程中,很重要的一個環節,我們稱之為數據清理 ( Data Cleaning ),但是,你或許沒有留意到,還有一個很重要的工作,可能會包含在這裡,我們稱之為數據整理 ( Data Wrangling )。任何對數據有關的工作,這兩件事情都很重要,你都不可能輕易忽略。當然,合格的數據分析師,應該要熟練這些方法。

為什麼要清理與整理呢?大多數的數據,可能會包含重複、錯誤,或是甚至完全不見的數據。通常來說,數據可能已經建立了許多時間,在此期間,可能資料庫中的欄位已更改、重新命名或不小心的被忽略掉了。況且,大數據的本質就是數據本身有很多雜音 (noise),清理與整理在所難免。有許多文獻也都指出:數據分析師將 50% 到 80% 的時間花在數據清理和數據整理的工作上,《紐約時報》甚至說這是資料科學看門的工作之一。

那麼清理與整理到底有甚麼差別呢?簡單的說:清理 (Cleaning) 通常涉及更改現有的數據,就是說識別出數據中不完整、不正確、不準確或不相關的部分,然後替換、修改或刪除錯誤數據。整理 ( Wrangling ) 通常涉及創建新的數據,就是將數據從一種原始的格式轉換或是對應到另一種格式的過程,它的目標是要使後續新產生的數據,更適合進行未來的分析,換句話說:就是要符合未來分析目標的一種轉換。

所以整個數據分析流程中,這兩件工作其實都是隨時需要進行的工作,而且可能會花去你大部分的時間。但是,要怎麼做呢?當然,各種工具與技能都可能要拿來應用,因為要滿足你的分析目標,也可能就是你的業務目標。不過,人類還是喜歡留在表格型的結構化數據內進行分析,因此,清理與整理之後,通常我們希望把數據整理成為以下的結構,這也就是清理與整理的目標。

1.每一個直的列 (column) 都是一個個的變量 (variable)
2.每一個橫的行 (row) 都是一個個的觀察值 (observation)
3.每一個值 (value) 都必須有自己的單元格 (cell)。

所以,這就是為什麼在 R 程式語言內要跟你談 tidy data 的原因,相同的,在 python 程式語言內要使用 panda 的原因。人類會有各種理由,需要把數據整理成為人類需要的樣子,然後進行分析!關鍵是:分析是團隊的作業,需要有流程,流程內會有共通的方法,我們稱為 Practice。利用 Practice 才有機會把團隊的價值產生出來。上述的概念就是把數據,清理與整理成為我們設計好的目標,一個符合表格型態的結構化數據集!使整個分析流程將會順利的運作,最終獲得價值。所以,看出來了嗎?電腦軟體只是過程的工具而已!有了完整乾淨的數據集,接下來建模運算而後呈現,那就是分析流程的下一步了。

--

--

吳傑
吳傑

Written by 吳傑

耳順之年,致力推廣 Enterprise Big Data Framework & BCS AI certifications 於台灣。照片當然是數多年前的。呵。

No responses yet