Data analysis

練習專案六:奔跑的長條圖 3


成品

成品介紹

本專案展示如何以動態長條圖的方式,更直觀地呈現不同對象(如候選人、國家、投資報酬率)在時間維度上的變化趨勢。 初期以 Plotly Express 進行概念驗證(效果不佳,後續改用 raceplotly 製作最終成品),使長條圖能隨著時間自動更新,形成連續的「奔跑效果」。

專案說明:本專案聚焦於奔跑的長條圖,不包含進一步的統計分析



成果展示

2024年總統大選:

各國每日確診數:


個人心得

這是我第一次製作奔跑的長條圖,學習到使用索引篩選資料的方式,透過 nlargest 特性取得目標資料的索引後,再使用 loc 提取資料完成篩選。過去多以布林(boolean)條件篩選,這次學會不同的思維方式,這個過程讓我覺得既新鮮又有趣。

這是我第一次製作奔跑的長條圖,學習到如何利用索引方式篩選資料。 透過 nlargest() 取得目標資料的索引後,再使用 loc 提取資料完成篩選。 過去多以布林(boolean)條件進行篩選,這次學會了不同的思考方式,也更理解群組後篩選 Top-N 資料的實作邏輯。 這個過程讓我覺得既新鮮又有趣。



專案復原

語言與模組

  • dependencies:
    • python 3.12
    • pandas 2.3.2
    • plotly 6.3.0
    • raceplotly 0.1.7


匯出 environment.yml

建立環境記錄檔,以利重現專案環境。

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


如何重現

  • 安裝 Miniconda
  • 依據 environment.yml 建立環境:
conda env create -f environment.yml
  • data/ 資料夾中的 113全國投開票所完成時間.xlsxtaiwan_presidential_election_2024.dbcovid_19.db 放置於專案資料夾的 data/ 資料夾中。
  • 將專案資料夾的 create_bar_chart_race_data.py 放置於專案資料夾中。
  • 啟動環境並執行 python create_bar_chart_race_plots.py 就能在專案資料夾建立 bar_chart_race_votes.htmlbar_chart_race_confirmed.html


參考資料 & 資料來源



專案紀錄與進程

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



上一章