0
1

MLBピッチャーのデータ分析:今永昇太選手の投球を解剖する(第2回

Last updated at Posted at 2024-07-28

MLBピッチャーのデータ分析:今永昇太選手の投球を解剖する(第2回)

こんにちは、前回に引き続き今永昇太選手のMLBでの投球データを分析していきます。今回は投球タイプの分布に焦点を当てます。

1. 投球タイプの概要

まず、今永選手が使用している投球タイプを確認しましょう。

unique_pitch_types = df_684007_all_dates['pitch_type'].unique()
print("今永選手の投球タイプ:", unique_pitch_types)

この結果、今永選手は主に以下の球種を投げていることがわかりました:

  • FF: Four-Seam Fastball (4シームファストボール)
  • ST: Sweeper(スイーパー) or Slutter (スラッター / スライダー or カッター) ※要確認
  • FS: Split-Finger Fastball (スプリットフィンガー)
  • FC: Cutter (カッター)
  • CU: Curveball (カーブ)
  • SI: Sinker (シンカー)
  • CH: Changeup (チェンジアップ)

2. 全体の投球タイプ分布

全試合を通じての投球タイプの分布を見てみましょう。

import matplotlib.pyplot as plt

def plot_overall_pitch_distribution(df):
    pitch_counts = df['pitch_type'].value_counts()
    plt.figure(figsize=(10, 6))
    pitch_counts.plot(kind='pie', autopct='%1.1f%%')
    plt.title("Overall Pitch Type Distribution")
    plt.ylabel('')
    plt.show()

plot_overall_pitch_distribution(df_684007_all_dates)

この結果から、今永選手は4シームファストボールを最も多く投げており、次いでスプリットフィンガー、スイーパー、カーブの順に多いことがわかります。

3. 打者の左右別の投球タイプ分布

次に、打者の左右によって投球タイプの分布がどのように変わるかを見てみましょう。

import matplotlib.pyplot as plt
import numpy as np

def plot_pitch_distribution_by_batter_side(df):
    df_L = df[df['stand'] == 'L']
    df_R = df[df['stand'] == 'R']

    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))

    # 全ての投球タイプを取得し、一貫したカラーマップを作成
    all_pitch_types = df['pitch_type'].unique()
    colors = plt.cm.Set3(np.linspace(0, 1, len(all_pitch_types)))
    color_dict = dict(zip(all_pitch_types, colors))

    # 左打者のグラフ
    df_L['pitch_type'].value_counts().plot(kind='pie', ax=ax1, autopct='%1.1f%%', 
                                           colors=[color_dict[pt] for pt in df_L['pitch_type'].value_counts().index])
    ax1.set_title('vs Left-handed batters')
    ax1.set_ylabel('')

    # 右打者のグラフ
    df_R['pitch_type'].value_counts().plot(kind='pie', ax=ax2, autopct='%1.1f%%', 
                                           colors=[color_dict[pt] for pt in df_R['pitch_type'].value_counts().index])
    ax2.set_title('vs Right-handed batters')
    ax2.set_ylabel('')

    plt.suptitle("Pitch Type Distribution by Batter Handedness")
    plt.show()

plot_pitch_distribution_by_batter_side(df_684007_all_dates)

この結果から、以下のような傾向が見られます:

  1. 左打者に対しては、ST(スイーパー)の使用頻度が高くなっています。
  2. 右打者に対しては、FS(スプリットフィンガー)の使用頻度が高くなっています。
  3. FF(4シームファストボール)は両方の打者に対して最も多く使用されています。

4. 投球タイプの時系列変化

最後に、シーズンを通じて投球タイプの分布がどのように変化したかを見てみましょう。

def plot_pitch_type_evolution(df):
    df['game_date'] = pd.to_datetime(df['game_date'])
    pitch_type_counts = df.groupby(['game_date', 'pitch_type']).size().unstack(fill_value=0)
    pitch_type_percentages = pitch_type_counts.div(pitch_type_counts.sum(axis=1), axis=0) * 100

    pitch_type_percentages.plot(kind='area', stacked=True, figsize=(12, 6))
    plt.title("Evolution of Pitch Type Distribution")
    plt.xlabel("Date")
    plt.ylabel("Percentage")
    plt.legend(title="Pitch Type")
    plt.show()

plot_pitch_type_evolution(df_684007_all_dates)

このグラフから、以下のような傾向が読み取れます:

  1. シーズン初期はFF(4シームファストボール)の使用頻度が高かったが、徐々に他の球種の使用頻度が増加しています。
  2. 特にFS(スプリットフィンガー)の使用頻度が初期よりは多い。

まとめ

今回の分析から、今永選手の投球戦略について以下のことがわかりました:

  1. 4シームファストボールを軸としつつ、状況に応じて他の球種を交えています。
  2. 打者の左右で球種の使い分けを行っています。
  3. シーズンを通じて徐々に球種のバランスを調整している様子が見られます。

次回は、各投球タイプのリリース特性(スピード、スピンレート、リリースポイントなど)について詳しく分析していきます。

0
1
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
1