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

***

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

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

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

***

# 目次

*   [pybaseballとは？](#pybaseballとは)
*   [Statcastデータを取得する](#statcastデータを取得する)
*   [Pitching Stats（投手成績）](#pitching-stats投手成績)
*   [Batting Stats（打撃成績）](#batting-stats打撃成績)
*   [試合結果とスケジュールを取得する](#試合結果とスケジュールを取得する)
*   [順位表を取得する](#順位表を取得する)
*   [キャッシュ機能で高速化する](#キャッシュ機能で高速化する)
*   [まとめと次のステップ](#まとめと次のステップ)

***

# pybaseballとは？

> pybaseballは、**PythonからMLBのデータを直接取得できる**パッケージです。

通常なら、Baseball-ReferenceやFanGraphs、Baseball Savantなどのサイトを見に行く必要がありますが、\
pybaseballを使えば**コード1行**でデータが手に入ります。

インストールも超簡単。

```bash
!pip install pybaseball
```

***

# Statcastデータを取得する

Statcastとは、MLBが全試合に導入している**ハイテク追跡システム**。\
ピッチの速度やスピン、打球速度や角度など、超詳細なデータを取得できます。

データ取得もたったこれだけ。

```python
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`：結果（シングル、ホームランなど）

<details>
<summary>▶︎ 全カラム一覧はこちら</summary>

```text
[pitch_type, game_date, release_speed, release_pos_x, release_pos_z, player_name, batter, pitcher, events, description, spin_dir, ... (省略) ... delta_run_exp]
```

</details>

***

# Pitching Stats（投手成績）

リーグ全体、または指定期間の**投手成績データ**を取得できます。

```python
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）

<details>
<summary>▶︎ 全カラム一覧はこちら</summary>

```text
[IDfg, Season, Name, Team, Age, W, L, WAR, ERA, G, GS, ...]
```

</details>

***

# Batting Stats（打撃成績）

打撃成績も同様に取得できます。

```python
from pybaseball import batting_stats

df = batting_stats(start_season=2024, end_season=2024)
```

***

## Batting Statsのカラム一覧

**代表的カラム**

*   `HR`：ホームラン数
*   `RBI`：打点
*   `OBP`：出塁率
*   `SLG`：長打率
*   `OPS`：出塁率＋長打率

<details>
<summary>▶︎ 全カラム一覧はこちら</summary>

```text
[Name, Age, #days, Lev, Tm, G, PA, AB, R, H, ...]
```

</details>

***

# 試合結果とスケジュールを取得する

```python
from pybaseball import schedule_and_record

df = schedule_and_record(season=2024, team="NYY")
```

チーム別に、勝敗、得点、対戦相手、先発投手などが取れます！

***

## 試合データのカラム一覧

**代表的カラム**

*   `Date`：試合日
*   `Home_Away`：ホーム or アウェイ
*   `W/L`：勝敗
*   `Win` / `Loss`：勝ち投手・負け投手
*   `Attendance`：観客数

***

# 順位表を取得する

```python
from pybaseball import standings

standings(season=2024)
```

地区別に勝敗記録を一発取得！

***

# キャッシュ機能で高速化する

毎回スクレイピングすると時間がかかるので、\
キャッシュを有効にしておくと爆速になります。

```python
from pybaseball import cache
cache.enable()
```

***

# まとめと次のステップ

## この記事でできるようになったこと

✅ pybaseballの基本がわかる\
✅ 主要なデータ取得方法を理解\
✅ 各カラムを正しく把握できる

## 次にやるべきこと

✅ 2025シーズンのデータを収集・保存する\
✅ Google ColabやBigQueryと連携して分析環境を整備する\
✅ データクレンジング・可視化・モデル作成に進む

***

# ✨ 最後に

MLBデータ分析は、正しくデータを取得・理解することからすべてが始まります。\
このガイドを武器に、ぜひあなたも**次のレベル**へ！

***