【2025年版】初心者から上級者まで使える!pybaseball徹底ガイド【MLBデータ分析入門】
MLBデータを使ったデータ分析に興味があるけれど、
「何から始めればいいかわからない」
そんなあなたに向けた、最強のスタートガイドを作りました。
この記事では、
✅ pybaseballの使い方
✅ 各データのカラム一覧(完全版)
✅ 実務で使えるコツ
をすべて解説します!
目次
- pybaseballとは?
- Statcastデータを取得する
- Pitching Stats(投手成績)
- Batting Stats(打撃成績)
- 試合結果とスケジュールを取得する
- 順位表を取得する
- キャッシュ機能で高速化する
- まとめと次のステップ
pybaseballとは?
pybaseballは、PythonからMLBのデータを直接取得できるパッケージです。
通常なら、Baseball-ReferenceやFanGraphs、Baseball Savantなどのサイトを見に行く必要がありますが、
pybaseballを使えばコード1行でデータが手に入ります。
インストールも超簡単。
!pip install pybaseball
Statcastデータを取得する
Statcastとは、MLBが全試合に導入しているハイテク追跡システム。
ピッチの速度やスピン、打球速度や角度など、超詳細なデータを取得できます。
データ取得もたったこれだけ。
from pybaseball import statcast
df = statcast(start_dt="2024-04-01", end_dt="2024-04-07")
📌 注意点
Statcast APIは「37日以内」しか一度に取得できないため、月ごとに取得→結合がおすすめです。
Statcastのカラム一覧(完全版)
代表的カラム
-
pitch_type
:球種(フォーシーム、カーブなど) -
release_speed
:投球速度(mph) -
launch_speed
:打球速度(mph) -
launch_angle
:打球角度(度) -
events
:結果(シングル、ホームランなど)
▶︎ 全カラム一覧はこちら
[pitch_type, game_date, release_speed, release_pos_x, release_pos_z, player_name, batter, pitcher, events, description, spin_dir, ... (省略) ... delta_run_exp]
Pitching Stats(投手成績)
リーグ全体、または指定期間の投手成績データを取得できます。
from pybaseball import pitching_stats
df = pitching_stats(start_season=2024, end_season=2024)
📌 日付範囲で絞りたい場合は、pitching_stats_range(start_dt, end_dt)
が使えます。
Pitching Statsのカラム一覧
代表的カラム
-
W
:勝利数 -
L
:敗戦数 -
ERA
:防御率 -
IP
:投球回 -
SO
:奪三振数 -
WAR
:勝利貢献度(Wins Above Replacement)
▶︎ 全カラム一覧はこちら
[IDfg, Season, Name, Team, Age, W, L, WAR, ERA, G, GS, ...]
Batting Stats(打撃成績)
打撃成績も同様に取得できます。
from pybaseball import batting_stats
df = batting_stats(start_season=2024, end_season=2024)
Batting Statsのカラム一覧
代表的カラム
-
HR
:ホームラン数 -
RBI
:打点 -
OBP
:出塁率 -
SLG
:長打率 -
OPS
:出塁率+長打率
▶︎ 全カラム一覧はこちら
[Name, Age, #days, Lev, Tm, G, PA, AB, R, H, ...]
試合結果とスケジュールを取得する
from pybaseball import schedule_and_record
df = schedule_and_record(season=2024, team="NYY")
チーム別に、勝敗、得点、対戦相手、先発投手などが取れます!
試合データのカラム一覧
代表的カラム
-
Date
:試合日 -
Home_Away
:ホーム or アウェイ -
W/L
:勝敗 -
Win
/Loss
:勝ち投手・負け投手 -
Attendance
:観客数
順位表を取得する
from pybaseball import standings
standings(season=2024)
地区別に勝敗記録を一発取得!
キャッシュ機能で高速化する
毎回スクレイピングすると時間がかかるので、
キャッシュを有効にしておくと爆速になります。
from pybaseball import cache
cache.enable()
まとめと次のステップ
この記事でできるようになったこと
✅ pybaseballの基本がわかる
✅ 主要なデータ取得方法を理解
✅ 各カラムを正しく把握できる
次にやるべきこと
✅ 2025シーズンのデータを収集・保存する
✅ Google ColabやBigQueryと連携して分析環境を整備する
✅ データクレンジング・可視化・モデル作成に進む
✨ 最後に
MLBデータ分析は、正しくデータを取得・理解することからすべてが始まります。
このガイドを武器に、ぜひあなたも次のレベルへ!