0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2025年版】初心者から上級者まで使える!pybaseball徹底ガイド【MLBデータ分析入門】

Posted at

【2025年版】初心者から上級者まで使える!pybaseball徹底ガイド【MLBデータ分析入門】

MLBデータを使ったデータ分析に興味があるけれど、
「何から始めればいいかわからない」
そんなあなたに向けた、最強のスタートガイドを作りました。

この記事では、
✅ pybaseballの使い方
✅ 各データのカラム一覧(完全版)
✅ 実務で使えるコツ
をすべて解説します!


目次


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データ分析は、正しくデータを取得・理解することからすべてが始まります。
このガイドを武器に、ぜひあなたも次のレベルへ!


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?