2026年11月2日 星期一

【PySpark 大數據處理 08】數據樞紐分析:群組運算 (GroupBy) 與多維度聚合 (Aggregation)

歷經了前幾篇的資料清洗(處理 Null、去除重複、字串與時間正規化),我們的資料終於變得乾淨且具備標準結構了!接下來,我們將進入大數據分析中最讓人興奮的階段:萃取商業價值。

無論是計算「每個月的總營收」、「各個分店的平均客單價」,還是「不同感測器的最高溫度」,背後的核心技術都離不開「群組運算 (GroupBy)」與「聚合函數 (Aggregation)」。這就像是在 PySpark 裡執行超高效率的 Excel 樞紐分析表!

1. 核心觀念:Split - Apply - Combine

在學習語法前,我們必須先理解群組運算在底層是如何運作的。在資料科學界,這被稱為 Split-Apply-Combine (拆分-應用-結合) 策略:

2026年11月1日 星期日

【PySpark 大數據處理 07】進階資料清洗:字串處理 (String) 與時間格式 (Timestamp) 正規化

在上一篇中,我們成功消滅了缺失值與重複資料。但資料的考驗還沒結束!在真實的商業環境中,資料往往是由不同系統或人工輸入匯集而成的,這會導致兩個常見的災難:充滿雜訊的字串(例如多餘的空白、大小寫不一致),以及格式五花八門的日期時間。

今天,我們將學習 PySpark 內建強大的字串處理函數,以及如何將混亂的時間統一「正規化 (Normalization)」,為未來的時間序列分析打下良好基礎。

1. 觀念解析:為什麼需要正規化?

對電腦來說,字串 `"Apple "` (後面多一個空白) 和 `"Apple"` 是完全不同的東西;同樣地,字串 `"2026/10/25"` 與時間戳記 `2026-10-25 00:00:00` 在底層的處理邏輯也天差地遠。請參考下方的轉換示意圖:

2026年10月31日 星期六

【PySpark 大數據處理 06】資料品質守門員:優雅處理缺失值 (Null) 與重複資料

在我們處理巨量資料時,特別是針對物聯網 (IoT)、智慧城市感測器數據或是企業 ESG 永續治理的相關指標,我們幾乎不可能拿到完美的資料。感測器斷線會產生缺失值 (Null),系統重試機制則可能引發重複的紀錄 (Duplicates)。如果帶著這些「髒資料」直接進入分析或機器學習模型,將會導致嚴重的誤差(這就是所謂的 Garbage In, Garbage Out)。

今天,我們將學習 PySpark 內建的資料品質守門員,透過幾個簡單的語法,優雅地處理這些異常資料!

1. 缺失值處理策略:刪除 (Drop) 還是 填補 (Fill)?

當我們遇到欄位空白 (Null 或 NaN) 時,通常有兩種作法:一是將該筆資料整列刪除;二是根據商業邏輯填補一個預設值(例如補 0,或是補上平均數)。

熱門文章