iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0

昨天介紹完 BR 打擊相關的 functions,今天接下來介紹投球相關的 functions,不過其實他們都是使用同一個頁面,所以基本上沒甚麼差別。

pitching_stats_bref

獲得 BR 上的 Daily Game Log Finder 裡的投手資料,需要傳入一個參數:

  • season:須為整數,篩選的球季,如果沒有傳入數字的話預設會是使用當年的年份。

pitching_stats_range

會跟第一個 function 回傳一樣的內容,不過參數可以選擇填入開始跟結束日期做篩選。

  • start_dt:想要搜尋範圍的開始日期,須為 "YYYY-MM-DD" 格式的字串。
  • end_dt:想要搜尋範圍的結束日期,須為 "YYYY-MM-DD" 格式的字串。如果沒傳入資料會回傳 start_dt 當天的資料。最近能找的資料會是昨天的資料,輸入今天的日期會搜尋不到。

這兩個跟昨天的 batting_stats_brefbatting_stats_range 的參數都一樣,所以今天我打算再多介紹他們回傳的欄位。因為回傳的是 Pandas 的 DataFrame,所以我們可以用 .columns 來得知有哪些回傳的欄位。

from pybaseball import pitching_stats_bref, pitching_stats_range

# 獲得今年的投手成績
data = pitching_stats_bref()

# 獲得回傳欄位
data.columns

欄位資料:

可以看到有 41 個欄位,很多是基本數據就先不介紹,我挑幾個可能平常沒看過的:

  • GDPDouble Plays Grounded Into。滾地雙殺,比較常會以 GIDP 所表示。
  • PitNumber of pitches in the PA。打席所遇到的投球數總和。
  • StrStrikes。好球率。
  • StLStrikes Looking。裁判撿的好球數比例。
  • StSStrikes Swinging。揮棒落空的好球數比例。
  • SO/WStrikeouts/Walk。三振保送比。

team_pitching_bref

獲得特定球隊的球員資料,會需要知道球隊的簡寫 teamIDBR,可以從 teams_id 這個 functions 知道,我在 Day 07 - FanGraphs 隊伍篇 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw) 有介紹可以參考看看。參數有三個:

  • team:隊伍簡寫字串,可以參考 team_ids 回傳的 teamIDBR,為必填。
  • start_season:必填,篩選的開始球季。
  • end_season:篩選的結束球季,如果沒填會只回傳 start_season 填入的球季資料。

範例:

from pybaseball import team_pitching_bref, team_ids

# 搜尋隊伍簡寫,BR 會使用 teamIDBR
team_ids(2020)

# 搜尋 2023 金鶯的投手資料
team_pitching_bref('BAL', 2023)

# 搜尋 2021 - 2023 天使的投手資料
team_pitching_bref('LAA', 2021, 2023)

這個 function 的參數與回傳也都跟 team_batting_bref,回傳欄位跟前面兩個 functions 也會是一樣的,所以這邊也不再多做敘述了。

本日小結

因為今天的內容跟昨天差異不大,所以篇幅比較少,但還是感謝大家耐心地看完。明天會介紹 Baseball Reference 自己的 WAR 計算方法,以及 pybaseball 使用他們的 WAR 資料的 functions。


上一篇
Day 18 - Baseball Reference 打擊篇
下一篇
Day 20 - Baseball Reference WAR 篇
系列文
Python 棒球數據分析套件 pybaseball 介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言