데이터 가져오기
MLB Stats, Scores, History, & Records | Baseball-Reference.com
Complete source for baseball history including complete major league player, team, and league stats, awards, records, leaders, rookies and scores.
www.baseball-reference.com
위 링크에서 2023년 메이저리그 투수들의 데이터들을 플레이 게임 수로 정렬해서 500명을 들고왔다.

비교
볼넷을 많이 던지는 투수들의 성적을 다른 데이터들과 비교를 해보자.
보통 투수들의 실력을 판가름할 수 있는 데이터는 평균자책점, 승률, 피안타율, 삼진률로 비교해봤다.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
df_filtered = df[(df['G']) > 20]
# 필요한 열만 선택 (Name: 선수 이름, H9: 안타 비율, HR9: 홈런 비율, BB9: 볼넷 비율, SO9: 탈삼진 비율, SO/W: 탈삼진 대 볼넷 비율, W-L%: 승률)
df_filtered = df_filtered[['Name', 'H9', 'HR9', 'BB9', 'SO9', 'SO/W', 'W-L%','G']]
# 안타 비율(H9)과의 관계
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df_filtered, x='H9', y='W-L%')
sns.regplot(data=df_filtered, x='H9', y='W-L%', scatter=False, color='red')
plt.xlabel('H9 (Hits per 9 Innings)')
plt.ylabel('Winning Percentage')
plt.title('Relationship between H9 and Winning Percentage')
plt.grid(True)
plt.show()
# 홈런 비율(HR9)과의 관계
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df_filtered, x='HR9', y='W-L%')
sns.regplot(data=df_filtered, x='HR9', y='W-L%', scatter=False, color='red')
plt.xlabel('HR9 (Home Runs per 9 Innings)')
plt.ylabel('Winning Percentage')
plt.title('Relationship between HR9 and Winning Percentage')
plt.grid(True)
plt.show()
# 볼넷 비율(BB9)과의 관계
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df_filtered, x='BB9', y='W-L%')
sns.regplot(data=df_filtered, x='BB9', y='W-L%', scatter=False, color='red')
plt.xlabel('BB9 (Walks per 9 Innings)')
plt.ylabel('Winning Percentage')
plt.title('Relationship between BB9 and Winning Percentage')
plt.grid(True)
plt.show()
# 탈삼진 비율(SO9)과의 관계
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df_filtered, x='SO9', y='W-L%')
sns.regplot(data=df_filtered, x='SO9', y='W-L%', scatter=False, color='red')
plt.xlabel('SO9 (Strikeouts per 9 Innings)')
plt.ylabel('Winning Percentage')
plt.title('Relationship between SO9 and Winning Percentage')
plt.grid(True)
plt.show()
# 탈삼진 대 볼넷 비율(SO/W)과의 관계
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df_filtered, x='SO/W', y='W-L%')
sns.regplot(data=df_filtered, x='SO/W', y='W-L%', scatter=False, color='red')
plt.xlabel('SO/W (Strikeouts per Walk)')
plt.ylabel('Winning Percentage')
plt.title('Relationship between SO/W and Winning Percentage')
plt.grid(True)
plt.show()
승률과는 큰 상관관계가 없다.
하지만 볼넷을 많이 던지는 투수는 평균자책점이 높았고 이는 못하는 투수라고 할 수 있다.
데이터들은 종합적으로 봤을 때 볼넷은 투수들의 실력을 대변할 수 있는 지표라고 할 수 있을 것 같다.
투수들의 전성기는 언제?
보통 운동선수들의 평균 전성기는 20대 초중후반, e스포츠의 경우 10대이기도 하다.
골프의 경우 32세라는 평균 정성기 나이를 가지고 있다.
야구, 투수의 경우는 어떨까?
승률, 평균자책점 삼진이 각각 높은 20명의 선수들의 평균 나이를 구해봤다.
평균적으로 30살 언저리인 것을 알수 있었다.
고로 메이저리그 투수들의 평균 전성기는 30살이라고 할 수 있다.
결론
볼넷을 많이 던지는 투수는 못하는 투수가 맞다.
투수들의 평균 전성기는 30살 즘이다.
'AI' 카테고리의 다른 글
싸가지 없는 챗지피티 (0) | 2024.06.26 |
---|---|
MLB 투수 데이터 분석 (0) | 2024.06.12 |
LCK 데이터 분석하기 (0) | 2024.05.08 |
회귀분석 프로젝트 일지 (2) | 2024.04.30 |