Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpbl-draft-analysis

整理中華職棒(CPBL)選秀與打擊資料的小型資料專案。

目前主要功能:

  • 抓取並整合歷年選秀資料到 data/draft_all/draft_all.csv
  • 補齊可取得的球員生日(birth)與部分守備位置(position
  • 計算打擊進階數據(OBP / SLG / OPS / OPS+)

環境需求

本專案使用 conda 環境 cpbl

  1. 建立環境(首次):
conda env create -f environment.yml
  1. 啟用環境:
conda activate cpbl

專案結構

src/
  fetch_team_draft.py      # 抓歷年選秀 + 補 birth/position
  adv_stat.py              # 計算打擊進階數據

data/
  draft_all/draft_all.csv  # 歷年整合後選秀資料(主要輸出)
  batting/stat.csv         # 打擊原始資料
  batting/adv_stat.csv     # 打擊進階資料輸出

資料來源

  • 歷年選秀:維基百科(raw)
    • https://zh.wikipedia.org/zh-tw/中華職棒選秀會?action=raw
  • 球員生日補值:cpbl-opendataplayers.csv
    • https://github.com/ldkrsi/cpbl-opendata

使用方式

1) 抓歷年選秀

conda run -n cpbl python src/fetch_team_draft.py

預設輸出:data/draft_all/draft_all.csv

可用參數:

  • --source:自訂來源(預設為維基百科)
  • --output:自訂輸出檔案
  • --reference:指定本地參考資料(可選)
  • --skip-enrich:只抓取,不補 birth/position

範例:

conda run -n cpbl python src/fetch_team_draft.py --skip-enrich

2) 計算打擊進階數據

conda run -n cpbl python src/adv_stat.py

輸出:data/batting/adv_stat.csv

欄位說明(draft_all)

data/draft_all/draft_all.csv 主要欄位:

  • name:球員姓名
  • birth:出生日期(YYYY-MM-DD,若可取得)
  • draft-year:選秀年份
  • round:輪次
  • order:整體順位(同一年度內)
  • position:守備位置(若可取得)
  • draft-team:選秀球隊代碼
  • status:目前與 draft-team 同步(需手動更新)
  • leave-year:離隊年份(需手動更新)

注意事項

  • 維基資料為社群維護,偶有格式變動,解析邏輯可能需調整。
  • 歷史資料中部分球隊名稱尚未完全正規化(例如舊隊名)。
  • position 補值仍受參考資料覆蓋率影響,可能存在空值。

致謝

  • 感謝 cpbl-opendata 提供球員資料整理與開放資料貢獻。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages