IT_developers

Python 데이터 분석(주피터노트북) - Lakers(농구) 본문

Python

Python 데이터 분석(주피터노트북) - Lakers(농구)

developers developing 2022. 12. 7. 12:00

Lakers Data

  • LA 레이커스 미국 NBA 농구 팀
  • NBA 우승 17회를 기록한 명문팀
  • 2008 ~ 2009 시즌 경기기록

라이브러리 및 세팅

  • import seaborn as sns
  • seaborn 폰트 사용 - 한글처리보다 먼저 선언해야함
    • sns.set(font_scale=1)
  • import pandas as pd
  • import matplotlib.pyplot as plt
  • 한글처리
    • plt.rcParams['font.family'] = 'Malgun Gothic'
    • plt.rcParams['axes.unicode_minus'] = False
  • 경고 메세지
    • import warnings
    • warnings.simplefilter("ignore")
  • seaborn 스타일의 그래프를 사용
    • plt.style.use('seaborn')
  • from wordcloud import WordCloud, ImageColorGenerator

 

데이터 로드

  • date : 경기날짜
  • opponent : 상대팀
  • game_type : 홈경기 / 원정 경기
  • time : 게임 시간
  • period : 쿼터(한 쿼터당 12분씩, 동점일 경우 5쿼터 진행)
  • etype : 유형(퇴장, 파울, 자유투, 점프볼, 리바운드, 슛, 패스, 타임아웃, 턴오버, 반칙)
  • team : LAL(본인팀), 상대팀
  • player : 선수명
  • result : 결과
  • points : 점수
  • type : 세부행동
  • x,y : 상대편 팀 골대 뒤에서 바라본 x,y 좌표. 골대 위치 = (25,5.25)

 

데이터 탐색

  • head()
  • info()
  • describe()
  • describe(include=object)
  • 범주형 컬럼 안 값 확인
  • 널 값 (개수, 총합)

 

데이터 전처리

1) date, time 컬럼 변환한 후 하나의 컬럼 생성

  • date 컬럼 str 타입으로 변경 후 담기
  • datetime = date + ' '+ time

2) 결측치 처리

  • x,y 컬럼에 NaN을 0으로 채우기

 

EDA & Visualization

1) 홈경기 VS 원정 경기

  • 날짜별로 홈경기인지 원정경기인지 추출
  • 시각화(비율)

2) 경기에서 선수들이 가장 많이 하는 행동 유형(etype)?

  • 타입 개수 확인
  • countplot 그리기
  • 특정 쿼터에서 많이 발생한 행동

3) 시즌에서 경기 결과는?

  • 날짜별 경기 결과에서 result 컬럼의 value 가 made인 points만 더하면 총 점수
  • made 경기의 총 점수 구하기
  • LA 레이커스와 상대편으로 경기 결과 나누기
  • 경기 결과 merge
  • 시각화

4) LA 레이커스 선수들의 코트 위치별 동작

5) 세부 행동 별 위치

  • 가장 많이 한 세부행동 10개
  • 시각화
Comments