昨天簡單介紹了 BR 這個網頁,今天就來看 pybaseball 裡的 BR functions 吧,一樣從打擊的部分開始介紹。
跟 FanGraphs 的命名一樣,不過後面多加 _bref
作區別,獲得的資料會跟上一篇介紹的 Daily Game Log Finder 一樣,需要傳入一個參數:
season
:須為整數,篩選的球季,如果沒有傳入數字的話預設會是使用當年的年份。這個 function 使用只需要一個參數相對簡單,所以想跟另一個 function 一起介紹。
會跟第一個 function 回傳一樣的內容,不過參數可以選擇填入開始跟結束日期做篩選。
start_dt
:想要搜尋範圍的開始日期,須為 "YYYY-MM-DD" 格式的字串。end_dt
:想要搜尋範圍的結束日期,須為 "YYYY-MM-DD" 格式的字串。如果沒傳入資料會回傳 start_dt
當天的資料。最近能找的資料會是昨天的資料,輸入今天的日期會搜尋不到。要注意的是,BR 的 function 只能搜尋 2008 年前的資料,另外如果是選擇輸入球季的話,會自動篩選當季 3/1 - 11/30 的資料。還有如果搜尋不到資料會回傳錯誤。
範例:
from pybaseball import batting_stats_bref, batting_stats_range
# 獲得今年的打者成績
batting_stats_bref()
# 獲得 2022 年的打者成績
batting_stats_bref(2022)
# 獲得 2023-09-26 的打者成績
batting_stats_range('2023-09-26')
# 獲得 2023-09-01 到 2023-09-27 的打者成績
batting_stats_range('2023-09-01', '2023-09-26')
搜尋的範圍如果大的話會花點時間獲得資料,有時候會等一陣子,可能要注意一下。
用球隊來搜尋球員資料,如果只想看特定球隊裡的球員可以使用這個方法,參數有三個:
team
:隊伍簡寫字串,可以參考 team_ids
回傳的 teamIDBR
,為必填。start_season
:必填,篩選的開始球季。end_season
:篩選的結束球季,如果沒填會只回傳 start_season
填入的球季資料。範例:
from pybaseball import team_batting_bref, team_ids
# 搜尋隊伍簡寫,BR 會使用 teamIDBR
team_ids(2020)
# 搜尋 2023 金鶯的球員資料
team_batting_bref('BAL', 2023)
# 搜尋 2021 - 2023 天使的球員資料
team_batting_bref('LAA', 2021, 2023)
一樣如果找不到資料會回傳錯誤。
今天介紹 BR 的打擊 functions 感謝大家耐心地觀看。相較於其他兩個網站的 functions,BR 需要的填入參數比較少,所以也比較容易使用,不過就少了些多樣性。有點可惜的是不知道為什麼 pybaseball 只限定抓取 2008 後的資料,明明 BR 的特點就是他的歷史資料庫。
明天介紹投球的 functions。
今天的程式碼:
https://colab.research.google.com/drive/1XgWrU2w_TObiLw4FAJHFPwjFXCjTT_AE?usp=sharing