2024年 MLB 全投球データ取得方法!!【Google Colab + pybaseball】
SHOGAKU
17日前
2024年 MLB 全投球データ取得方法!!【Google Colab + pybaseball】
ChatGPTにそのまま書かせた。
1. この記事でできること
「野球のデータ分析をしてみたい!」そんなあなたへ。
2024年MLB公式戦(レギュラーシーズン)すべての投球データを、無料で、しかもパソコンだけで、手に入れる方法を教えます!
使うのは、無料で使えるGoogle Colabと、Pythonライブラリのpybaseballだけ!
2. 事前に知っておきたいこと
- データはとても大きい!(約71万行、1.4GB)
- でも、Google Colabなら無料枠で問題なし!
- ちょっとした工夫が必要(API制限を回避するなど)
3. まずやること
GoogleアカウントがあればOK!
Google Colabにログインして、以下のコードをそのまま貼り付けて実行するだけ!
!pip install --upgrade pybaseball
import os, gc, calendar, datetime as dt, pandas as pd
from pybaseball import statcast
YEAR = 2024
OUTPUT_CSV = f"statcast_{YEAR}_regular.csv"
SAVE_PATH = f"/content/{OUTPUT_CSV}"
def month_date_range(year, month):
first = dt.date(year, month, 1)
last = dt.date(year, month, calendar.monthrange(year, month)[1])
return first.strftime("%Y-%m-%d"), last.strftime("%Y-%m-%d")
all_months = []
for m in range(1, 13):
start, end = month_date_range(YEAR, m)
print(f"Fetching {start}〜{end}")
df_month = statcast(start, end, verbose=False)
if not df_month.empty:
all_months.append(df_month)
del df_month; gc.collect()
if all_months:
df = pd.concat(all_months, ignore_index=True)
else:
raise RuntimeError("No data fetched.")
if "game_type" in df.columns:
df = df[df["game_type"] == "R"].reset_index(drop=True)
df.to_csv(SAVE_PATH, index=False)
print(f"Saved: {SAVE_PATH}")
4. このコードでやってること(ざっくり)
- 月ごとにデータをダウンロード → APIの制限を回避!
- 公式戦(レギュラーシーズン)だけに絞る
- 最後にCSVファイルとして保存
5. 実行結果のイメージ
Fetching 2024-01-01〜2024-01-31
Fetching 2024-02-01〜2024-02-29
...
✅ データ取得完了!709,510行 × 113列
✅ CSV保存完了!約392MB
6. ちょっと気をつけたいこと
- データ量が多いので、Colabのランタイム切れに注意
- 取れない月(データ空っぽな月)はスキップする仕組みになってます
- pandasの「FutureWarning」対策もバッチリ(安心してOK)
7. さらに進めたい人向け:次のステップ
(1) BigQueryにアップロードしてSQL解析
データベースみたいにサクサク検索できる!
しかも無料枠(10GB/1TB)なら問題なし!
(2) 可視化(グラフ化)
Google Data Studio(Looker Studio)やStreamlitで、投球ヒートマップも作れる!
(3) 機械学習にも挑戦!
「この投球は打たれるか?空振りか?」を予測できるかも?
8. よくある質問(FAQ)
Q. 無料でずっと使えるんですか?
→ 使えます!BigQueryの「無料枠」内で収まるので、よっぽど使い込まない限りOK!
Q. 1ヶ月だけ取りたい場合は?
→ 年ではなく月単位だけにコードを変更すればOK!
9. まとめ
- 2024年MLBレギュラーシーズンの全投球データを無料でゲット!
- Google Colab + pybaseballで超簡単
- 次は「データベース化」や「グラフ化」に挑戦しよう!
終わりに
「野球データってプロしか使えないんでしょ?」と思っていたあなたへ。
Python×Colabがあれば、誰でもプロ級のデータ分析ができる時代です!
この記事がきっかけで、あなたの「データ分析デビュー」が始まれば最高です!
コメント
いいね
投げ銭
最新順
人気順
コメント
いいね
投げ銭
最新順
人気順