Data analysis

練習專案五:大疫世代 4


結果分析(Results)

成品介紹

本次專案以 Covid-19 公開資料為基礎,整理全球的 每日確診死亡疫苗接種 數據,製作頁籤式互動儀表板。資料處理使用 SQLite + Pandas(清理、正規化、寬轉長),視覺化與互動以 Plotly + Gradio 完成(Global Map/Country Time Series),並部署於 Hugging Face Spaces 上展示。

專案說明:本專案聚焦於資料清理與儀表板建置,不包含進一步的統計分析

  • 世界地圖氣泡圖(每日報告):呈現單日的全球疫情快照,依經緯度分布、氣泡大小與顏色對應累積確診。
  • 各國折線圖(時間序列):將確診(寬表)、死亡(寬表)與疫苗(長表)統一鍵值後合併,觀察跨日趨勢與施打進度。
  • 成果Hugging Face Demo

Hugging Face 基底環境未預裝 Plotly 模組,部署需在 requirements.txt 指定版本(例如 plotly==6.3.0)。



專案紀錄與進程

以下為本專案從資料清理到視覺化的完整實作記錄(含筆記與驗證):



成果展示

每日統計資料 - 地圖氣泡圖

各國時間序列資料 - 折線圖

個人心得

第一次用 Python 做互動式儀表板,過程中遇到不少意外狀況(如 Gradio 啟動錯誤、astype(int) 溢位問題),雖然一開始卡了一下,但最後還是順利解決,也讓整體過程變得更有挑戰、更有趣。

  • 學到的重點:
    • 互動式儀表板製作與規劃。
    • 裝飾器(decorator)的概念。
    • Gradio 排版功能。

專案復原(Project Replication)

語言與模組(Languages & Modules)

  • dependencies:
    • python 3.12
    • pandas 2.3.1
    • plotly 6.3.0
    • gradio 5.45.0

匯出 environment.yml(Creating environment.yml)

目的重現專案環境。

conda env export -n covid_19_pandemic > D:/environment.yml 

如何重現(How to Reproduce)

  • 安裝 Miniconda
  • 依據 environment.yml 建立環境:
conda env create -f environment.yml
  • data/ 資料夾中的 4 個 CSV 檔案:03-09-2023.csvtime_series_covid19_confirmed_global.csvtime_series_covid19_deaths_global.csvtime_series_covid19_vaccine_global.csv 放置於專案資料夾的 data/ 資料夾中
  • 啟動環境並執行 python create_covid_19_db.py 就能在 data/ 資料夾中建立 covid_19.db
  • 啟動環境並執行 python app.py 並前往 http://127.0.0.1:7860 瀏覽成品。

上一章