AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

2024/25 EPL 시즌 팀 성과 대시보드: Python Streamlit 및 Tableau를 활용한 상호작용형 시각화

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

데이터 분석

대상자

  • 데이터 분석가, 스포츠 데이터 시각화 개발자, 시각화 툴 활용자
  • 난이도: 중급 (Python, Streamlit, Tableau 기초 지식 필요)

핵심 요약

  • _Excitement Score_ 계산식: ExcitementScore = (TotalGoals × 2) + (TotalShots × 0.5) + (BothTeamsScored × 3)
  • Streamlit으로 상호작용형 웹 앱 구축 (https://epl202425top5-czzrrxzyuenu4hwwep3axk.streamlit.app/)
  • Tableau Public을 활용한 시각적 대시보드 제작 (데이터 출처: www.football-data.co.uk)

섹션별 세부 요약

1. 프로젝트 개요

  • EPL 2024/25 시즌 경기 데이터를 기반으로 _Excitement Score_라는 사용자 정의 지표를 설계
  • Python과 Streamlit으로 상호작용형 웹 앱 개발, Tableau Public으로 시각적 대시보드 제작
  • 주요 분석 지표: 경기 날짜, 홈/원정 팀, 득점, 총 슈팅 수, 양팀 득점 여부

2. _Excitement Score_ 계산 로직

  • 총 득점 수(TotalGoals) = 홈팀 득점(FTHG) + 원정팀 득점(FTAG)
  • 총 슈팅 수(TotalShots) = 홈팀 슈팅(HS) + 원정팀 슈팅(AS)
  • 양팀 득점 여부(BothTeamsScored) = (FTHG > 0) & (FTAG > 0) 조건에 따라 0/1 할당
  • ExcitementScore = TotalGoals 2 + TotalShots 0.5 + BothTeamsScored * 3

3. 톱 5 경기 선정 및 시각화

  • _Excitement Score_ 기준으로 상위 5개 경기 선정 (df.sort_values(by='ExcitementScore', ascending=False).head(5))
  • Streamlit 앱: 경기 상세 정보 필터링, 요약 정보 제공
  • Tableau 대시보드: 경기 데이터의 시각적 표현 (동적 차트, 지도, 스타일링)

4. 프로젝트 한계 및 개선 방향

  • 현재 한계: 경기 강도 반영을 위한 경고카드(Red/Yellow Cards) 데이터는 현재 기술적 한계로 미포함
  • 향후 개선: 사용자 피드백을 반영해 _Excitement Score_ 지표의 정확도 향상

결론

  • 실무 적용 팁: 사용자 정의 지표 설계 시 데이터 출처사용자 경험을 고려해야 하며, Python 기반 상호작용 앱과 Tableau의 시각화 기능을 결합하는 것이 효과적
  • GitHub 링크: https://github.com/k-eunji/epl202425_top5 (소스 코드 및 데이터셋 제공)