顯示具有 資料清洗 標籤的文章。 顯示所有文章
顯示具有 資料清洗 標籤的文章。 顯示所有文章

2025年7月5日 星期六

資料清洗 超入門基礎篇

 小編最近勘很多智慧製造案例,回想起自己處理資料不一,資料格式百百款,小編舉手建議找AI 幫忙,但要把公司資料端出來,著實有限(資安問題),所以這就是小編來寫寫資料清洗的由來。

AI幫忙介紹:

資料清洗

資料清洗(Data Cleaning)是指在資料分析或機器學習前,對原始資料進行檢查、修正或移除不完整、不準確、不一致或不相關資料的過程。這個步驟對於確保後續分析結果的準確性與模型效能極為關鍵[1][2][3]。

資料清洗的重要性

·       提高分析準確性:乾淨的資料能更真實反映現象,分析結果更可靠[1][3]。

·       降低模型錯誤:高品質資料能減少機器學習模型對噪聲的敏感度,降低錯誤率[1][3]。

·       節省後續成本:前期清洗資料可避免後續分析時花費更多時間處理資料問題[4][1]。

·       提升決策品質:高品質資料能為決策者提供更有依據的資訊[1]。

常見的資料品質問題

·       缺失值:資料中某些欄位沒有填寫。

·       重複值:同一筆資料出現多次。

·       錯誤值:如亂碼、拼寫錯誤、數據格式錯誤。

·       極端值(異常值):明顯偏離其他資料的數值。

·       資料型態不一致:同一欄位出現不同型態(如數字和文字混用)[4][2][3]。

資料清洗的主要步驟

1.       檢查資料格式與型別:確認每個欄位的資料型態(數值、日期、文字等)正確[4][2]。

2.       檢查資料完整性:找出缺失值、重複值、異常值[4][2]。

3.       處理缺失值:可選擇刪除、填補(如用平均值、中位數等)或標記[4][2]。

4.      處理重複值:刪除或合併重複資料[4][2]。

5.       修正錯誤資料:如修正拼寫錯誤、格式錯誤、單位不一致等[3][5]。

6.      檢查資料一致性與準確性:確保欄位間邏輯關係正確,數據無明顯矛盾[4][3]。

7.       資料轉換與標準化:如統一日期格式、單位換算、資料排序與聚合[4][2]。

常用工具與技術

·       Excel、OpenRefine、Trifacta、DataWrangler 等資料清理工具[2]。

·       程式語言如 Python(Pandas、NumPy)、R 進行自動化清洗[6]。

·       雲端平台如 AWS Glue、Amazon EMR 提供大規模資料清洗功能[2]。

實務建議

·       充分了解資料來源與特性,制定合適的清洗策略[1]。

·       持續監控資料品質,定期檢查與修正[1][2]。

·       注意資料隱私與合規,保護個資安全[1]。

總結

資料清洗是資料分析與機器學習中不可或缺的基礎步驟,直接影響分析結果的正確性與決策品質。無論是企業還是個人進行數據應用,都應重視並投入適當資源於資料清洗作業[4][1][2][3][5]。

1.       https://tw.alphacamp.co/blog/data-cleaning        

2.       https://www.nextlink.cloud/news/data-cleansing-introduction/         

3.       https://aws.amazon.com/tw/what-is/data-cleansing/      

4.      https://www.kscthinktank.com.tw/blog/大數據時代生存術-帶你認識資料清理6步驟的「/        

5.       https://zh.wikipedia.org/zh-tw/数据清洗 

6.      https://hackmd.io/@Yu-Sheng-Luo/B1Es973us

7.       https://lazyorangelife.com/vba-remove-duplicates/ 

8.      https://learn.microsoft.com/zh-tw/office/vba/api/excel.range.removeduplicates 

9.      https://learn.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/vartype-function 

10.   https://docs.pingcode.com/baike/3978308

11.    https://learn.microsoft.com/zh-tw/office/vba/api/excel.range.removeduplicates

12.    https://cloud.tencent.com/developer/article/1952358

13.    https://blog.csdn.net/taller_2000/article/details/111602934

14.   https://projectmanager.com.tw/excel/excel-vba-排序/

15.    https://learn.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/data-type-summary

16.   http://rhfan0725.blogspot.com/2012/01/vba_26.html

------------------------------------------------------------------------------------

小編以 Excel 裡面面對一堆亂七八糟的資料為例;別擔心,今天小編就來分享幾個超實用的 VBA 程式碼範例,讓你輕鬆搞定資料清洗的各種問題,無論是格式檢查、缺失值、重複值還是資料標準化,通通難不倒你!

1. 檢查資料格式與型別

有時候我們需要確認某一欄是不是全部都是數字,否則分析起來很容易出錯。小編最常用這段 VBA,幫你把不是數字的格子標記成黃色:

Sub 檢查數字格式()

    Dim cell As Range

    For Each cell In Range("A2:A100")

        If Not IsNumeric(cell.Value) Then

            cell.Interior.Color = vbYellow

        End If

    Next

End Sub

2. 檢查資料完整性(缺失值)

資料有缺漏怎麼辦?小編會用這招,把空白的地方標記成紅色,一眼就能看出來:

Sub 標記缺失值()

    Dim cell As Range

    For Each cell In Range("A2:A100")

        If IsEmpty(cell.Value) Or cell.Value = "" Then

            cell.Interior.Color = vbRed

        End If

    Next

End Sub

3. 處理缺失值(自動填補平均值)

如果資料有缺失,有時候我們會用平均值來填補。這段 VBA 就能自動幫你把 B 欄的空白填上平均值:

Sub 填補缺失值為平均()

    Dim rng As Range, cell As Range

    Dim sum As Double, count As Long, avg As Double

    Set rng = Range("B2:B100")

    For Each cell In rng

        If IsNumeric(cell.Value) And cell.Value <> "" Then

            sum = sum + cell.Value

            count = count + 1

        End If

    Next

    If count > 0 Then avg = sum / count

    For Each cell In rng

        If cell.Value = "" Or IsEmpty(cell.Value) Then

            cell.Value = avg

        End If

    Next

End Sub

4. 處理重複值(移除重複資料)

重複的資料很煩人,小編最愛用這個一鍵移除重複值,超方便:

Sub 移除重複資料()

    Range("A1").CurrentRegion.RemoveDuplicates Columns:=1, Header:=xlYes

End Sub

5. 修正錯誤資料(拼寫修正)

有時候資料裡會有拼錯字,比如把 Taipei 打成 Taiepi。這段 VBA 直接幫你全部修正:

Sub 修正拼寫錯誤()

    Dim cell As Range

    For Each cell In Range("C2:C100")

        If cell.Value = "Taiepi" Then

            cell.Value = "Taipei"

        End If

    Next

End Sub

6. 檢查資料一致性與準確性

欄位之間的邏輯要正確,比如結束日不能比開始日早。小編用這個檢查,還會幫你標橘色:

Sub 檢查日期邏輯()

    Dim i As Long

    For i = 2 To 100

        If Cells(i, 5).Value < Cells(i, 4).Value Then

            Cells(i, 5).Interior.Color = RGB(255, 153, 0)

        End If

    Next

End Sub

7. 資料轉換與標準化(單位統一)

有時候數字單位不一樣很麻煩,比如有億、有萬。小編會用這段把全部都換成萬:

Sub 單位轉換為萬()

    Dim cell As Range

    For Each cell In Range("F2:F100")

        If Right(cell.Value, 1) = "億" Then

            cell.Value = Val(cell.Value) * 10000 & "萬"

        ElseIf IsNumeric(cell.Value) Then

            cell.Value = Val(cell.Value) & "萬"

        End If

    Next

End Sub

8. 資料排序

最後,整理好資料後,當然要排序啦!這段程式把 G 欄的資料從小到大排好:

Sub 排序資料()

    Range("A1:G100").Sort Key1:=Range("G1"), Order1:=xlAscending, Header:=xlYes

End Sub

指數變化(2025.08.29) 開始透過AI做整理

 指數變化(2025.08.29) 開始透過AI做整理 上周焦點: 8/19(二)   美國房屋開工率 5%月增  美國建築許可月增率 月增2.8% 8/20(三)   美國房貸綜合指數 月減0.5%  美國30年期房貸利率 6.69%  美國15年期房貸利率 5.8~5.71%...