Python
[Python] ploty를 이용해 내셔널리그 골든글러브 최종 후보 3인 수비 지표 그래프 만들기
developekkyu37
2023. 1. 19. 17:34
728x90
https://developerkkyu37.tistory.com/66
[Python] MLB Stats API를 이용해 내셔널리그 골든글러브 후보 3인 수비 지표 비교(김하성 포함)
패키지 임포트 import statsapi import pandas as pd 내셔널리그 골든글러브 최종 후보 3인 검색 김하성, 댄스비 스완슨, 미겔 로하스의 선수 id 찾기 print(statsapi.lookup_player('ha-seong')) print(statsapi.lookup_player('d
developerkkyu37.tistory.com
패키지 설치 및 임포트
!pip install plotly
import plotly.offline as pyo
import plotly.graph_objs as go
앞서 만든 데이터 프레임 활용
수비 지표 데이터 추출
경기 출장 수, 송구 아웃, 직접 아웃, 수비 기회, 실책, 송구 실책, 필딩율, RFPG, RFPI 데이터 추출
df_d1 = df.iloc[[0, 2, 3, 5]]
df_d1.rename(index={'gamesPlayed': "유격수 출장수", 'assists': "송구 아웃", 'putOuts' : '직접 아웃', 'chances' : '수비 기회'}, inplace=True)
df_d2 = df.iloc[[4, -1]]
df_d2.rename(index={'errors' : '실책', 'throwingErrors' : '송구 실책'}, inplace=True)
df_d3 = df.iloc[[6, 7, 8]]
df_d1
df_d2
df_d3
그래프 만들기
kim = go.Bar(x=df_d1['Kim'].keys(), y=df_d1['Kim'].values,
marker = {'color': 'gold'},
name='Kim')
swanson = go.Bar(x=df_d1['Swanson'].keys(), y=df_d1['Swanson'].values,
marker = {'color': 'red'},
name='Swanson')
rojas = go.Bar(x=df_d1['Rojas'].keys(), y=df_d1['Rojas'].values,
marker = {'color': '#a4daf6'},
name='Rojas')
data = [kim, swanson, rojas]
layout = go.Layout(title='주요 수비 지표 비교')
fig = go.Figure(data=data, layout=layout)
pyo.iplot(fig)
kim = go.Bar(x=df_d2['Kim'].keys(), y=df_d2['Kim'].values,
marker = {'color': 'gold'},
name='Kim')
swanson = go.Bar(x=df_d2['Swanson'].keys(), y=df_d2['Swanson'].values,
marker = {'color': 'red'},
name='Swanson')
rojas = go.Bar(x=df_d2['Rojas'].keys(), y=df_d2['Rojas'].values,
marker = {'color': '#a4daf6'},
name='Rojas')
data = [kim, swanson, rojas]
layout = go.Layout(title='주요 수비 지표 비교')
fig = go.Figure(data=data, layout=layout)
pyo.iplot(fig)
kim = go.Bar(x=df_d3['Kim'].keys(), y=df_d3['Kim'].values,
marker = {'color': 'gold'},
name='Kim')
swanson = go.Bar(x=df_d3['Swanson'].keys(), y=df_d3['Swanson'].values,
marker = {'color': 'red'},
name='Swanson')
rojas = go.Bar(x=df_d3['Rojas'].keys(), y=df_d3['Rojas'].values,
marker = {'color': '#a4daf6'},
name='Rojas')
data = [kim, swanson, rojas]
layout = go.Layout(title='주요 수비 지표 비교')
fig = go.Figure(data=data, layout=layout)
pyo.iplot(fig)
다음 시즌 김하성을 기대해보자
728x90