
一、為何選擇 Python 進行數據分析?
1.1 Python 的優勢與特性
在數位化浪潮席捲全球的今天,數據分析已成為各行各業不可或缺的核心能力。無論是金融業的風險評估、零售業的客戶分群,還是公共衛生的疫情追蹤,數據背後的洞察力往往決定著決策的品質與效率。在眾多的程式語言中,Python 之所以能脫穎而出,成為數據分析領域的 lingua franca,關鍵在於其無可比擬的「易讀性」與「生態系統」。不同於 C++ 或 Java 需要處理繁複的記憶體管理與語法結構,Python 的語法設計極度貼近自然語言,讓初學者能將注意力集中在分析邏輯本身,而非程式語言的技術細節。這也使得 Python 在近年來成為各類 資訊科技教育 課程中的首選語言,尤其在香港,許多大專院校和民間培訓機構,例如香港大學專業進修學院(HKU SPACE)或香港生產力促進局(HKPC),都大量開設以 Python 為主軸的 數據分析課程,顯示其在本地教育市場的深厚根基。
除此之外,Python 的另一大特性是「跨平台相容性」與「社群支援」。無論你使用的是 Windows、macOS 還是 Linux,Python 都能無縫運行。更重要的是,Python 背後有一個極為活躍的全球開發者社群,這意味著當你在分析過程中遇到任何疑難雜症,幾乎都能在 Stack Overflow、GitHub 或官方文件中找到解決方案。這種開源共享的精神,大幅降低了學習者的挫敗感,也提升了學習效率。對於香港的數據分析從業者而言,能快速地從社群中獲取最新的套件更新或程式碼範例,無疑是保持競爭力的重要優勢。此外,Python 不僅僅是數據分析的工具,它還能與機器學習、深度學習、網頁爬蟲甚至是自動化流程(RPA)結合,這種高度的延展性,使得學習 Python 不只是學會一門技術,更是建立一套完整的數位問題解決能力。這種能力的培養,正是提升個人 資訊科技素養 的關鍵路徑,讓你能在全球數據驅動的經濟體系中,擁有更強的適應性與創新潛力。
1.2 常見的數據分析函式庫:Pandas、NumPy、Matplotlib、Scikit-learn
Python 之所以在數據分析領域如此強大,很大程度上歸功於其豐富的第三方函式庫生態。這些函式庫就像是樂高積木,讓開發者能根據需求靈活組裝,無需從零開始撰寫所有功能。對於初學者而言,掌握以下四個核心函式庫,便足以應付絕大多數的日常工作場景。
首先,NumPy 是整個 Python 數據科學生態系的基石。它提供了高效能的 N 維陣列物件(ndarray),以及大量的數學函數,用於執行線性代數、傅立葉轉換和隨機數生成等運算。對於大量數據的數值計算,NumPy 的底層是使用 C 語言實作的,因此其執行速度遠快於原生 Python 列表。例如,當你處理一個包含數百萬筆香港住宅樓價的數據集時,使用 NumPy 進行平均數、標準差或中位數的計算,能在毫秒級別內完成。
其次,Pandas 是數據處理與分析的靈魂工具。它建立在 NumPy 之上,提供了兩種核心資料結構:Series(一維)和 DataFrame(二維)。DataFrame 的概念類似於 Excel 試算表或 SQL 資料表,但它具有更強大的數據操控能力。從讀取 CSV、Excel 檔案,到處理時間序列數據,再到進行類似 SQL 的群組與合併操作,Pandas 都能輕鬆勝任。在香港的零售業或金融業分析中,Pandas 經常被用來清洗來自不同來源的混亂數據,將其轉換為可用於分析的整潔資料集。
第三,Matplotlib 是數據視覺化的老牌函式庫。雖然它的預設樣式較為樸素,但其自訂性極高。你可以用它來繪製折線圖、長條圖、散佈圖、直方圖等一切常見圖表。在完成數據分析後,將結果以圖形化方式呈現,能讓非技術背景的利害關係人(例如公司的管理層或客戶)一目瞭然。例如,將香港過去十年的人口結構變化繪製成堆疊長條圖,比單純呈現數字表格更具說服力。
最後,Scikit-learn 是機器學習領域的標準函式庫。當你從基礎的統計分析進階到預測建模時,Scikit-learn 提供了從資料預處理、特徵工程、模型選擇到模型評估的完整流程。它包含了常用的監督式學習(如迴歸、分類)和非監督式學習(如聚類、降維)演算法。例如,銀行可以利用 Scikit-learn 建立信用評分模型,根據客戶的歷史數據來預測違約風險。這四個函式庫相輔相成,構成了 Python 數據分析從清洗、計算、視覺化到建模的完整工作流,也是任何專業 數據分析課程 中必定會深入探討的核心內容。
二、Python 環境搭建
2.1 安裝 Anaconda 或 Miniconda
在開始撰寫 Python 程式碼之前,首先要建立一個穩定且易於管理的開發環境。對於數據分析初學者而言,最推薦的方式是安裝 Anaconda 或 Miniconda。Anaconda 是一個開源的 Python 發行版本,它不僅包含了 Python 本體,還預先整合了超過 1500 個常用的數據科學套件,如 Pandas、NumPy、Jupyter Notebook、Scikit-learn、Matplotlib 等。這意味著你無需逐一手動安裝這些函式庫,安裝完 Anaconda 後,立刻就能開始進行數據分析工作。對於香港的學生或上班族來說,時間就是金錢,Anaconda 一站式解決方案能大幅降低環境配置的門檻,讓學習焦點回歸到分析本身。Miniconda 則是 Anaconda 的精簡版,它只包含 Conda 套件管理器與 Python,適合那些對電腦空間比較敏感,或希望自己手動安裝所需套件、對系統環境有高度掌控需求的進階使用者。在香港的高等教育機構中,許多電腦教室的教學用機器都預先佈署了 Anaconda,以便學生能快速上手。
安裝過程非常簡單,只需前往 Anaconda 官方網站下載對應作業系統的安裝程式即可。安裝過程中,系統會詢問你是否要將 Anaconda 加入系統的環境變數(PATH)中,建議勾選此選項,以便後續在終端機或命令提示字元中能直接使用 conda 指令。安裝完成後,你可以透過開啟「Anaconda Navigator」這個圖形化介面來管理你的環境與應用程式。這個導航工具內建了多種開發工具,如 Jupyter Notebook、JupyterLab、Spyder 和 VS Code,你可以一鍵啟動,非常直覺。對於剛開始接觸 資訊科技教育 的學習者而言,這種低學習曲線的入門體驗至關重要。透過環境的正確搭建,你實際上是為自己的 資訊科技素養 打下了一個穩固的基礎,這不僅僅是學會安裝軟體,更是理解「開發環境管理」這個重要概念的起點。
2.2 使用 Jupyter Notebook 或 JupyterLab
Jupyter Notebook 和 JupyterLab 是數據分析領域中最受歡迎的互動式開發環境。它們以網頁瀏覽器為介面,允許使用者將程式碼、方程式、視覺化圖表和 Markdown 文字說明整合在同一個文件中,形成一個「可執行的文件」。這種設計特別適合數據分析工作,因為分析過程往往需要反覆探索、調整參數並觀察結果,而 Jupyter Notebook 的「細胞」(Cell)架構正好滿足這種迭代式開發需求。你可以在一個細胞中撰寫程式碼並立即執行,結果會直接顯示在細胞下方;在另一個細胞中,你可以撰寫註解或分析結論,記錄你的思路歷程。
JupyterLab 是 Jupyter Notebook 的下一代進化版,提供了更現代化的使用者介面,支援多標籤頁、檔案總管、以及更靈活的視窗佈局。你可以同時在左側開啟程式碼編輯器,右側查看數據視覺化圖表,並在下方的終端機中執行指令,極大地提升了工作效率。對於香港的金融分析師或數據科學家,在處理如恒生指數的歷史交易數據或香港人口普查資料時,這種多工並行的環境能有效加速分析流程。此外,Jupyter Notebook 也支援多種程式語言核心(Kernel),除了 Python 之外,還可以切換到 R、Julia 等語言。在教學場景中,教師可以將一連串的數據分析步驟製作成 Notebook 教材,學生可以邊閱讀說明、邊執行程式碼,這種「做中學」的模式,極大地促進了 數據分析課程 的教學品質。然而,使用 Jupyter 時也需注意,編寫程式碼的順序性極為重要,因為變數狀態會隨著細胞的執行順序而改變,若隨意跳躍執行細胞,容易導致混亂。習慣在進行重要分析前,重新啟動核心(Kernel)並從頭執行所有細胞,是一項良好的編程習慣。
2.3 常見的 Package 管理工具:pip 與 conda
在 Python 的世界裡,套件管理是一項基本功。當你需要使用某個特定功能(例如處理地理數據的 GeoPandas,或進行自然語言處理的 NLTK)時,你必須先將其安裝到你的環境中。最常見的兩個套件管理器分別是 pip 與 conda。pip 是 Python 官方推薦的套件管理器,隨 Python 安裝程式一同發布。它的使用方式極其簡單,在終端機中輸入 `pip install 套件名稱` 即可。pip 會自動從 Python Package Index(PyPI)這個全球最大的 Python 套件倉庫下載並安裝套件。然而,pip 的缺點是它無法很好地處理非 Python 的相依性(例如某些 C 語言函式庫),且在套件版本衝突時較難除錯。
conda 則是 Anaconda 和 Miniconda 自帶的套件管理器,它比 pip 更強大。conda 不僅能管理 Python 套件,還能管理其他語言的套件(如 R、C++),並且能自動解決環境中的相依性問題。更重要的是,conda 允許使用者建立「虛擬環境」。你可以為不同的專案建立獨立的 Python 環境,每個環境擁有各自的 Python 版本與套件清單。例如,Project A 需要使用 Python 3.8 和 Pandas 1.0,而 Project B 需要使用 Python 3.11 和 Pandas 2.0,這兩者如果安裝在同一個全域環境中可能會產生衝突。透過 conda 建立兩個隔離的虛擬環境,就可以完美解決這個問題。在香港的數據分析團隊中,尤其是在需要進行模型部署與版本控制的場景下,使用 conda 環境管理已經是標準作業流程。建議初學者養成習慣:每當開始一個新的分析專案,就建立一個新的 conda 環境,這不僅能確保專案的可重現性,也是提升個人 資訊科技素養 的具體實踐。
三、Python 基礎語法快速複習
3.1 資料類型:數字、字串、布林值、列表、元組、字典
數據分析的本質是操作不同類型的數據,因此理解 Python 的內建資料類型至關重要。數字類型主要分為整數(int)和浮點數(float),分別對應整數與帶小數點的數值。例如,分析香港某區的人口年齡時,年齡通常是整數,而平均所得則可能是浮點數。字串(str)用於處理文字數據,像是姓名、地址或產品名稱。在處理香港的雙語環境數據時,字串經常包含中英文混雜的內容,例如“中環 Central”,這在後續的字串處理(如分割、取代、正規表示式)時需要特別留意編碼問題(UTF-8 是標準)。布林值(bool)只有 True 和 False 兩種狀態,常用於條件判斷,例如判斷某筆交易金額是否超過某個閾值。
容器型別則允許我們儲存多筆數據。列表(list)是最常用的有序集合,使用方括號 [] 定義,其中的元素可以任意修改(可變)。例如,`store_sales = [12000, 15000, 9800]` 可以用來儲存一家商店三天的銷售額。元組(tuple)則使用圓括號 () 定義,與列表類似,但一旦建立就不能修改(不可變),常用於儲存不應被更改的數據,例如地理座標(緯度, 經度)。字典(dict)使用大括號 {} 定義,以「鍵: 值」(key: value)的配對形式儲存數據,這種結構非常適合查詢。例如,你可以建立一個字典來記錄香港各區的人口密度:`{"中西區": 19230, "東區": 28500}`。在真實的數據分析中,從 CSV 或 API 取得的原始數據,通常會被 Pandas 轉換為 DataFrame,而 DataFrame 的底層就是由這些基礎型別組合而成。熟練掌握這些型別的創建、存取、修改與迭代方法,是撰寫高效分析程式的第一步,也是各大 數據分析課程 必定會反覆練習的核心重點。
3.2 流程控制:條件判斷、迴圈
僅僅定義變數是不夠的,我們還需要讓程式根據不同的情況做出不同的反應,這就涉及到流程控制。條件判斷主要使用 `if`、`elif`、`else` 關鍵字,用於根據條件執行不同的程式碼區塊。例如,在分析香港的住宅銷售數據時,你可能想根據樓價金額進行分類:`if price > 10000000: category = '豪宅'; elif price > 5000000: category = '中產'; else: category = '入門'`。這種邏輯在數據清洗和特徵工程中極其常見。迴圈則允許我們重複執行一段程式碼,最常用的是 `for` 迴圈和 `while` 迴圈。`for` 迴圈特別適合用來遍歷列表、元組或字典中的元素。例如,你可以使用 `for store_name, sales in store_sales_dict.items(): print(f'{store_name} 的總銷售額為 {sales}')` 來逐列印每一家商店的業績。
在數據分析實務中,雖然 Pandas 提供了向量化的操作方式(這比使用純 Python 迴圈快得多),但在處理較小數據集或進行複雜的資料轉換邏輯時,理解迴圈的概念仍然是必要的。此外,列表生成式(List Comprehension)是 Python 中一個極具特色的語法糖,它結合了迴圈與條件判斷,用一行程式碼就能完成原本需要多行才能實現的操作。例如:`[x * 2 for x in range(10) if x % 2 == 0]` 會產生一個包含偶數兩倍數值的列表。這種簡潔的寫法不僅提升了程式碼的可讀性,也展現了 Python 語言的優雅之處。學會這些流程控制技巧,能讓你不再是單純的數據旁觀者,而是有能力對數據進行加工與篩選的參與者。這對於強化個人的 資訊科技素養 來說,是從被動接收資訊轉向主動分析數據的關鍵跨越。
3.3 函式定義與使用
當程式碼變得越來越複雜時,我們需要一種方法來組織、封裝與重複使用程式碼,這就是函式的作用。在 Python 中,使用 `def` 關鍵字來定義一個函式。函式可以接收參數,並透過 `return` 關鍵字返回結果。例如,你可以定義一個計算商品折扣後價格的函式:`def calculate_discounted_price(original_price, discount_rate): return original_price * (1 - discount_rate)`。當你需要在多個地方計算不同商品的折後價格時,只需調用這個函式,並傳入不同的參數即可,避免了程式碼的冗餘。
函式不僅可以封裝數學計算,還能封裝整個數據處理流程。例如,你可以定義一個 `clean_data(df)` 函式,用來處理缺失值、刪除重複行、並轉換資料類型;然後在其他腳本或 Jupyter Notebook 中,只需一行 `df_cleaned = clean_data(raw_df)` 就能完成所有繁瑣的步驟。這種模組化思維是軟體工程的核心,也是專業數據分析師與業餘愛好者之間的分水嶺。在進階應用中,函式還能與 Lambda 表達式、裝飾器等高階特性結合,實現更靈活的程式設計模式。對於正在學習 數據分析課程 的學生來說,建議在課程初期就刻意練習將重複性的操作封裝成函式,養成良好的程式碼組織習慣。這不僅能讓你的專案更具可讀性與可維護性,也為未來學習物件導向程式設計(OOP)鋪平了道路。透過函式的運用,你能將複雜的分析任務拆解成一個個簡單、可測試的小區塊,從而更系統性地解決問題。
四、Pandas 數據處理基礎
4.1 Series 與 DataFrame 的概念
Pandas 之所以是數據分析領域的基石,完全得益於其兩種革命性的資料結構:Series 與 DataFrame。Series 可以理解為一個帶有索引(Index)的一維陣列,它類似於 Excel 中的一個欄位(Column)。例如,你可以建立一個名為 `hki_temperature` 的 Series,用於儲存過去一週香港天文台記錄的每日最高氣溫,其索引可以是日期字串。而 DataFrame 則是一個帶有行列標籤的二維表格,你可以把它想像成一個多欄位的 Excel 試算表或一個 SQL 資料表。DataFrame 由多個 Series 組成,每一欄都是一個 Series。例如,一個包含香港各區樓盤資訊的 DataFrame,可能會包含「區域名稱」、「實用面積(平方呎)」、「成交價(港元)」和「成交日期」這四個 Series(欄位)。
理解這兩個結構的關鍵在於索引。Pandas 的索引非常靈活,可以不連續、不唯一,甚至可以是非數字的(如日期或字串)。這種標籤式索引使得數據的選取與操作變得非常直覺。你可以使用 `.loc[]` 方法透過標籤(行名、列名)來選取數據,使用 `.iloc[]` 方法透過整數位置(第 0 行、第 1 列)來選取數據。此外,Pandas 還支援布林索引(Boolean Indexing),例如 `df[df['成交價'] > 10000000]` 可以直接選取出所有成交價超過一千萬港元的數據行。這種向量化的操作方式不僅語法簡潔,而且執行效率遠高於使用 Python 原生迴圈。對於在金融或地產行業工作的香港專業人士而言,能熟練運用 DataFrame 進行數據篩選、排序與聚合,是必備的硬技能。這也是任何正規 資訊科技教育 或 數據分析課程 中,耗費最多課時來講解的核心主題。
4.2 讀取與儲存數據:CSV、Excel、SQL 資料庫
數據分析的第一步往往是獲取數據,而 Pandas 提供了極其豐富的 I/O 功能,可以輕鬆讀取與寫入多種常見的檔案格式。其中,最常用的莫過於 CSV(逗號分隔值)檔案。你可以使用 `pd.read_csv('file_path.csv')` 一行指令就將 CSV 檔案載入為 DataFrame。如果 CSV 檔案儲存在網路上,也可以直接傳入 URL。在處理香港政府的公開數據時(例如資料一線通 data.gov.hk 提供的公共交通流量或人口普查資料),多數是以 CSV 格式提供。讀取 CSV 時,需要注意參數設定,例如 `encoding='utf-8'` 以正確處理中文資料,以及 `parse_dates=['日期']` 將特定欄位解析為日期時間類型。
對於 Excel 檔案(.xlsx),可以使用 `pd.read_excel()`,需要指定工作表名稱(sheet_name)。對於 SQL 資料庫,Pandas 則透過 `pd.read_sql()` 函式,搭配 SQLAlchemy 或 sqlite3 等連線庫,可以將 SQL 查詢結果直接讀取為 DataFrame。例如,你可以這樣連接到一個本地端的 SQLite 資料庫:`import sqlite3; conn = sqlite3.connect('sales.db'); df = pd.read_sql('SELECT * FROM transactions WHERE region = 'HK'', conn)`。將數據讀取進來後,進行分析、清洗;分析完成後,則需要將結果儲存。`df.to_csv('output.csv', index=False)` 或 `df.to_excel('output.xlsx', index=False)` 可以將 DataFrame 輸出為標準檔案。此外,對於大數據量的場景,Pandas 也支援 Parquet、HDF5 等高效儲存格式。熟練掌握這些數據的輸入與輸出,就如同學會了與不同數據源的溝通語言,這是數據分析師日常工作流程的第一步。在 數據分析課程 中,通常會透過一個真實的香港商業案例,如分析連鎖超市的銷售數據(從 ERP 系統導出的 CSV),來訓練學生完整的 ETL(提取、轉換、載入)流程。
4.3 數據清洗:處理缺失值、重複值、異常值
現實世界中的數據往往是骯髒的,包含缺失值、重複值、格式錯誤或邏輯異常的數據。數據清洗的品質直接決定了分析結果的可靠性,這一步驟通常佔據數據分析師 80% 的工作時間。首先,處理缺失值(NaN)。Pandas 提供了 `isnull()` 與 `notnull()` 來偵測缺失值。處理方式主要有三種:刪除(`dropna()`)、填充(`fillna()`)或插值(`interpolate()`)。例如,在分析香港某個月的零售物價指數時,如果某一天的指數數據缺失,你可以用前一天的數據填充(`ffill`),或使用前後幾天的平均值來填補。在處理香港的交通流量數據時,如果某個感測器故障導致數據為 NaN,直接刪除該行可能更合理。
其次,處理重複值。使用 `duplicated()` 可以檢查哪些行是重複的,而 `drop_duplicates()` 則可以直接刪除重複行。重複數據的來源很多,可能是入工輸入失誤,或系統合併報表時的 bug。例如,一份香港樓盤買賣合約的登記文件中,同一筆交易可能因為系統延遲而出現兩次記錄,此時就必須去重。最後,處理異常值。異常值是指明顯偏離常態的數值,可能由於測量錯誤或特殊事件造成。常用的判斷方法包括 Z-score 或 IQR(四分位距)法則。例如,對於香港住宅的平均呎價數據,若某筆交易的呎價是 100 萬港元(正常範圍應在 1 萬至 5 萬之間),則極大概率是輸入錯誤,應予以剔除或修正。透過這一系列的清洗步驟,你可以確保數據分析的基礎是穩健的。這種對數據真實性與準確性的嚴格把關,正是專業 資訊科技素養 的體現,也讓你的分析結論更具說服力與公信力。
4.4 數據轉換:資料類型轉換、字串處理
清洗完數據後,下一步通常是進行數據轉換,使其更適合進行分析或建模。資料類型轉換是常見的需求。例如,從 CSV 讀入的「成交日期」欄位很可能是字串物件(object)類型,你需要使用 `pd.to_datetime()` 將其轉換為 datetime64 類型,這樣才能進行日期運算(如計算交易天數差、提取月份)。另一個例子是「成交價」欄位,如果讀入時因為包含貨幣符號(如 HK$5,000,000)而被當作字串,你需要先使用字串處理方法去除符號和逗號,然後使用 `pd.to_numeric()` 將其轉換為浮點數,才能進行統計分析。
字串處理是數據轉換中最靈活也最常被使用的部分。Pandas 的 `str` 存取器(Accessor)提供了豐富的字串方法,例如 `.str.lower()`, `.str.split()`, `.str.contains()`, `.str.replace()` 等。這在處理香港的地址、姓名、產品描述等非結構化文本時特別有用。例如,假設你有一欄地址數據,格式為「香港九龍尖沙咀梳士巴利道10號」,你可以使用 `.str.extract()` 搭配正規表示式(Regular Expression)來分別提取「區域」(如尖沙咀)和「街名」(如梳士巴利道)。此外,有時數據需要進行分組聚合前的轉換,例如建立類別(Categorical)類型可以節省記憶體並提升運算速度。資料轉換的過程,如同將原石打磨成寶石,它能讓數據的潛在價值充分釋放。在 數據分析課程 中,學會這些轉換技巧,能幫助你靈活應對來自不同業務部門的、格式各異的數據。
五、數據分析案例實戰:以一個簡單的數據集為例
理論學得再多,不付諸實踐終究是紙上談兵。為了將上述知識融會貫通,我們以一個來自香港政府統計處的公開數據集——「香港的士載客量統計數據」為例,進行一次完整的數據分析演練。假設我們拿到了過去三年(2021-2023)香港各區(港島、九龍、新界)市區的士與新界的士的月度載客人次數據,以及各區的車輛數目。我們的目標是分析疫情前後,的士業務的復甦狀況,並找出載客效率最高的地區。
第一步:環境準備與數據載入
首先,我們在 Jupyter Notebook 中匯入 Pandas 與 Matplotlib。使用 `df = pd.read_csv('hk_taxi_data.csv', encoding='utf-8')` 載入數據,並使用 `df.head()` 檢視前五行,確認欄位名稱與數據樣貌。我們會發現數據包含「年份」、「月份」、「地區」、「車輛數」、「總載客人次」等欄位。注意到「月份」欄位是文字格式(例如“January”),這需要轉換。
第二步:數據清洗與轉換
使用 `df.info()` 檢查資料類型,發現「月份」是 object,使用 `pd.to_datetime()` 將其轉為 datetime 並設定為索引。檢查缺失值:`df.isnull().sum()`,發現「車輛數」欄位有少量缺失,由於車輛數變動不大,我們使用各區的均值進行填充:`df['車輛數'].fillna(df.groupby('地區')['車輛數'].transform('mean'), inplace=True)`。同時,我們計算一個新的欄位「每車日均載客效率」:`df['每車效率'] = df['總載客人次'] / (df['車輛數'] * 30)`,方便進行跨區域比較。
第三步:探索性分析與視覺化
這是整個分析的關鍵環節。我們首先使用群組運算,查看各區的年度總載客量變化:annual_data = df.groupby([df.index.year, '地區'])['總載客人次'].sum().unstack()。然後,使用 Matplotlib 繪製堆疊長條圖,觀察趨勢。圖表顯示,2022 年的總載客人次顯著低於 2021 年,而 2023 年雖有回升,但仍未恢復到 2021 年的水準,特別是市區的士的載客量復甦速度明顯慢於新界的士。接著,我們對「每車效率」進行分析,發現九龍區的市區的士每車日均效率最高,達到 12.5 人次,而新界區由於地域廣闊,每車效率僅為 8.2 人次。
第四步:洞察與結論
透過本次分析,我們得出以下結論:第一,香港的士業在 2023 年處於緩慢復甦階段,但尚未回到疫情前水準。第二,九龍與港島因人口密集,的士營運效率較高。第三,政府若想推動 資訊科技教育 在交通領域的應用(例如智慧叫車系統),應優先聚焦於提高新界區的車輛調度效率。這個案例雖然簡單,但完整地展示了從數據獲取、清洗、轉換、分析到視覺化的標準流程。透過親手執行這個案例,你不僅鞏固了 Python 與 Pandas 的技能,更重要的是建立了數據分析的思維框架。未來,無論是面對更龐大的數據集,還是更複雜的業務問題,你都能秉持著這種條理分明的態度去拆解與解決。這正是學習 數據分析課程 的終極目標——培養解決真實世界問題的能力,並將所學內化為個人核心的 資訊科技素養。