[MLB Stats API] statsapi.schedule(date=None, start_date=None, end_date=None, team="", opponent="", sportId=1, game_id=None)

2022. 1. 11. 13:34·Minding's Baseball/MLB Statcast
728x90
반응형

[MLB Stats API] 파이썬 패키지로 MLB Stats API 사용해보기

 

[MLB Stats API] 파이썬 패키지로 MLB Stats API 사용해보기

Fangraph나 MLB savant 홈페이지에서 직접 csv, DB파일을 다운로드 받는 것이 아닌 MLB서버에 연결된 API로 손쉽게 데이터를 구할 수 있는 방법을 야구공작소 글을 보며 알게되었다. 그 중 파이썬으로 API

minding-deep-learning.tistory.com


  • 주어진 날짜/범위 및/또는 팀/경기장의 경기 목록을 검색하여 딕셔너리로 반환

 

  • 반환되는 딕셔너리의 키 값들 :
    • game_id : 해당 경기의 ID (gamePk)
    • game_datetime : 해당 경기의 날짜 및 타임스탬프 (UTC 기준)
    • game_data : 경기일 (YYYY-MM-DD)
    • game_type : 프리시즌, 정규시즌, 포스트시즌 등 해당 경기의 종류
    • status : Scheduled, Warmup, In Progress, Final 등 해당 경기의 진행상태 표시
    • away_name : 원정 팀의 이름
    • home_name : 홈 팀의 이름
    • away_id : 원정팀의 팀 ID
    • home_id : 홈 팀의 팀 ID
    • doubleheader : 더블헤더 여부 (Y, S(분할 더블헤더 경기), N)
    • game_num : 1,2(더블헤더의 경우), 1(더블헤더가 아닌경우)
    • away_score : 원정팀이 득점한 득점 (경기 진행 중에도 표시됨)
    • home_score : 홈팀이 득점한 득점 (경기 진행 중에도 표시됨)
    • winning_team : 경기종료 후 승리한 팀의 이름
    • losing_team : 경기종료 후 패배한 팀의 이름
    • winning_pitcher : 승리투수의 이름
    • losing_pitcher : 패전투수의 이름
    • save_pitcher : 세이브한 투수의 이름
    • home_probable_pitcher : (가능한 경우) 홈 팀 예상 선발투수
    • away_probable_pithcer : (가능한 경우) 원정 팀 예상 선발투수
    • home_pitcher_note : (가능한 경우) 홈 팀의 예상 선발투수의 기록 (투구 보고서)
    • away_pitcher_note : (가능한 경우) 원정 팀의 예상 선발투수의 기록 (투구 보고서)
    • current_inning : 현재 이닝(게임이 진행중인 경우)
    • inning_state : 현재 이닝의 상태 (top, middle, bottom, end)
    • summary : 경기 요약
      • 경기종료 또는 진행 중인 경우의 요약 : <Date> - <Away Team Name> (<Away Score>) @ <Home Team Name> (<Home Score>) (<Game Status>)
      • 경기 시작 전 요약 : <Date> - <Away Team Name> @ <Home Team Name> (<Game Status>)
# 2018년 7월 필리델피아 필리스 vs 뉴욕 메츠의 경기
games = statsapi.schedule(start_date='07/01/2018',end_date='07/31/2018',team=143,opponent=121)
print(games)
[{'game_id': 530769,
  'game_datetime': '2018-07-09T20:10:00Z',
  'game_date': '2018-07-09',
  'game_type': 'R',
  'status': 'Final',
  'away_name': 'Philadelphia Phillies',
  'home_name': 'New York Mets',
  'away_id': 143,
  'home_id': 121,
  
  ...
  
  'home_pitcher_note': 'deGrom has allowed three or fewer runs in 15 straight starts and leads the big leagues with an ERA of 1.79. He is also second in the National League in strikeouts with 142. deGrom holds a lifetime record of 6-1 in 12 games started against the Phils.',
  'away_pitcher_note': 'Velasquez is expected to rejoin the rotation after landing on the 10-day disabled list July 1. He got hit on the right arm by a line drive June 30. Velasquez memorably picked up the ball and threw left-handed to record the out at first base.',
  'away_score': 0,
  'home_score': 3,
  'current_inning': 10,
  'inning_state': 'Bottom',
  'venue_id': 3289,
  'venue_name': 'Citi Field',
  'winning_team': 'New York Mets',
  'losing_team': 'Philadelphia Phillies',
  'winning_pitcher': 'Robert Gsellman',
  'losing_pitcher': 'Mark Leiter Jr.',
  'save_pitcher': None,
  'summary': '2018-07-11 - Philadelphia Phillies (0) @ New York Mets (3) (Final)'}]

 

# 요약만 출력하기
for x in games:
    print(x['summary'])
2018-07-09 - Philadelphia Phillies (3) @ New York Mets (4) (Final)
2018-07-09 - Philadelphia Phillies (3) @ New York Mets (1) (Final)
2018-07-10 - Philadelphia Phillies (7) @ New York Mets (3) (Final)
2018-07-11 - Philadelphia Phillies (0) @ New York Mets (3) (Final)
728x90

'Minding's Baseball > MLB Statcast' 카테고리의 다른 글

[MLB Stats API] statsapi.team_leader_data(teamId, leaderCategories, season=datetime.now().year, leaderGameTypes="R", limit=10)  (0) 2022.01.11
[MLB Stats API] statsapi.standings_data(leagueId="103,104", division="all", include_wildcard=True, season=None, standingsTypes=None, date=None)  (0) 2022.01.11
[MLB Stats API] statsapi.player_stat_data(personId, group="[hitting,pitching,fielding]", type="season")  (2) 2022.01.11
[MLB Stats API] statsapi.lookup_team(lookup_value, activeStatus="Y", season=datetime.now().year, sportIds=1)  (0) 2022.01.11
[MLB Stats API] statsapi.lookup_player(lookup_value, gameType="R", season=datetime.now().year, sportId=1)  (0) 2022.01.11
'Minding's Baseball/MLB Statcast' 카테고리의 다른 글
  • [MLB Stats API] statsapi.team_leader_data(teamId, leaderCategories, season=datetime.now().year, leaderGameTypes="R", limit=10)
  • [MLB Stats API] statsapi.standings_data(leagueId="103,104", division="all", include_wildcard=True, season=None, standingsTypes=None, date=None)
  • [MLB Stats API] statsapi.player_stat_data(personId, group="[hitting,pitching,fielding]", type="season")
  • [MLB Stats API] statsapi.lookup_team(lookup_value, activeStatus="Y", season=datetime.now().year, sportIds=1)
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬게임개발
    pygame
    넘파이
    mlb stats api
    Airflow
    머신러닝
    데이터분석
    칼만필터는어렵지않아python
    야구
    Python
    파이썬
    게임개발
    메이저리그
    django python
    파이게임
    질롱코리아
    django
    딥러닝
    칼만필터
    FastAPI
    에어플로우
    코딩테스트
    KalmanFilter
    칼만필터는어렵지않아
    데이터 엔지니어
    MLB
    칼만필터는어렵지않아파이썬
    프로그래머스
    KBO
    AWS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[MLB Stats API] statsapi.schedule(date=None, start_date=None, end_date=None, team="", opponent="", sportId=1, game_id=None)
상단으로

티스토리툴바