iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0

不知道不覺這次鐵人賽也完成一半了,希望能順利撐完全部 30 天。今天開始來介紹 Statcast Search 的 Filters。首先依照比較常使用的幾個開始介紹。會一遍寫

Filters

hfSea -> season

賽季年份,預設是 2024 賽季,可以複選,或用 | 來分開複選的選項,因為覺得 hfSea 比較難懂,所以在設計 function 參數的時候會想改成 season。可以使用的年份為 2008 到最近一個賽季,然後他裡面的選項可以一次選擇所有年份,或是選擇有 Statcast 系統的年份(2015 開始),所以我應該也會設計傳入的值也可以有 allstatcast

https://ithelp.ithome.com.tw/upload/images/20240929/201630249ZFWQHjUdf.png

hfGT -> game_type

球賽的種類,總共有八個種類,一樣會用 | 去分隔複選的選項,這八項分別為:

  • R:例行賽(Regular Season)
  • PO:季後賽(Playoffs)
  • F:外卡賽(Wildcard)
  • D:分區系列賽(Division Series)
  • L:分區冠軍賽(League Championship)
  • W:世界大賽(World Series)
  • S:春訓(Spring Training)
  • A:明星賽(All Star)

這個參數雖然網頁 UI 沒設計全選,但我應該還是會多開一個 all 的選項

https://ithelp.ithome.com.tw/upload/images/20240929/201630241V81CRbkrL.png

player_type

搜尋的球員種類,這個不能複選,只能單選,有十個項目,剛好就是所有守備位置加打者,會搭配接下來介紹的 players_lookup 做配合。當我們在 players_lookup 輸入球員 id,接下來就會搜尋該球員的所有球,再經過 player_type 篩選,選出當下的守備位置所經歷的球,像是搜尋今年的 Clayton Kershaw ,然後再選 player_type 捕手,就會搜尋出他搭配的捕手,今年就會有兩個。
使用的值會有九個,會分別為 batterpitcher 和其他守備位置會是 fielder_${守備位置號碼},守備位置號碼依序為:

  1. 投手(Pitcher)
  2. 捕手(Catcher)
  3. 一壘手(1st)
  4. 二壘手(2nd)
  5. 三壘手(3rd)
  6. 游擊手(SS)
  7. 左外野(LF)
  8. 中外野(CF)
  9. 右外野(RF)

所以如果是游擊手的話,需要傳入的值會是 fielder_6,不過這樣需要傳入的值可能沒那麼好懂,之後我可能會設計其他代號,像是一壘手變 1B 之類的。
https://ithelp.ithome.com.tw/upload/images/20240929/20163024dnYuhe4AU3.png

players_lookup

雖然這邊是寫 players,但其實實際上會分成 pitchers_lookupbatters_lookup,跟剛才提到的一樣,會以這邊輸入的球員 id 去搜尋。如果想知道球員的 id 的話,可以去 MLB 或 Savant 的球員頁網址知道,像是大谷的 Savant 球員頁 https://baseballsavant.mlb.com/savant-player/shohei-ohtani-660271,他的 id 就是最後面的 660271。或是使用 pybaseballplayerid_lookup 用球員姓名搜尋。另外這邊是可以傳複數的球員的,會用 [] 中括號包住所有球員 id

本日小結

今天先介紹跟這四項,明天會再接著介紹,有些可能不太常用的篩選可能會放到更後面介紹。然後這幾天我也會陸續寫一些程式碼,之後也會一併介紹。
最後一樣謝謝大家耐心地看完這篇文章,有任何問題與建議歡迎直接在留言告訴我,明天見,掰掰。


上一篇
Day 14 - Function 說明撰寫(Typing & Docstrings)
下一篇
Day 16 - Statcast Search Filters Part 2
系列文
上次介紹的棒球套件很少更新了,那就只好自己寫一個!?31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言