Content
-
FootballAnalysis
[K리그 데이터 분석] 4. Dashboard.py by Dash
이번 포스팅에선 plotly.graph_object에서 PolarBarChart를 임포트하여 선수 데이터를 시각화하는 플롯을 만든 과정에 대해서 설명하려고 한다. 또한, PolarBarChart를 클래스로 구현하여 사용자가 접근하려는 데이터에 따라 유동적으로 재사용되게 하려고 한다.import dashfrom dash import dcc, htmlimport plotly.graph_objs as gofrom dash.dependencies import Output, Input, Stateimport pandas as pdfrom polar_bar_chart import PolarBarChart 필요한 라이브러리와 Dash Framework를 임포트 해주었다. # Dash 애플리케이션 생성app = d..
-
FootballAnalysis
[K리그 데이터 분석] 3-1. 변환 단계 리팩터링
이번 포스팅에서는 세번째 포스팅에 게시했던 코드를 리팩터링하는 과정에 대해 작성해보려고 한다. 5월 말에 첫 포스팅을 하고 벌써 3개월이 지났는데 중간에 ADsP 응시 준비에 전념하던 기간이 존재하였음을 감안하더라도 꽤 긴 시간이 소요됐다. 개인적인 이유를 제외하고 이 프로젝트가 길어지는 이유는 분석하는 대상은 명확하지만 어떤 방법으로 분석할 지는 명확하지 않기 때문이라고 생각한다. 그저 대상이 잘 이해하고 있는 데이터셋이기 때문에 이 프로젝트를 하고 있다는 사실을 인지하고 이러한 상황에 맞게 코드를 작성하면서, 우선순위가 뒤죽박죽이던 프로젝트가 조금이나마 정리가 되는 듯한 기분이 들었다. scailing_method 삭제 이러한 결론을 내리고 첫 리팩터링으로 지난 포스팅에 업로드한 preprocess..
-
FootballAnalysis
[K리그 데이터 분석] 3. 데이터 전처리 및 변환
K리그 축구 전문 데이터 포털K리그의 모든 것이 담겨있습니다. 경기전 관전포인트 부터 전문 분석 매치서머리까지 지금 방문해보세요. 로그인 없이 이용하실 수 있습니다.data.kleague.com 이번 포스팅에선 이전 포스팅에서 수집한 데이터를 분석 가능한 형태로 전처리하는 코드를 다루려고 한다.# 변환 적용을 위한 쉼표 제거를 위한 함수def remove_commas(value): if isinstance(value, str): return value.replace(",", "") return value# 변환 적용을 위한 쉼표 제거 및 정수 변환 함수def convert_to_int(value): value = remove_commas(value) try: ..
-
FootballAnalysis
[K리그 데이터 분석] 2. xG 관련 데이터 수집 크롤러 구현
[K리그 ETL 파이프라인] 1. K리그 데이터 포털 크롤러 구현K리그 축구 전문 데이터 포털K리그의 모든 것이 담겨있습니다. 경기전 관전포인트 부터 전문 분석 매치서머리까지 지금 방문해보세요. 로그인 없이 이용하실 수 있습니다.data.kleague.com 첫번째jeongbeenson19.tistory.com 전 포스팅의 코드를 약간 수정해서 데이터센터-부가기록에 존재하는 xG 관련 기록을 크롤링하기 위한 코드를 작성했다.xG는 현대 축구에서 공격수를 평가하는데 주요한 지표 중 하나라고 생각해서 더욱 유용한 시각화 자료를 만들 수 있을 것으로 예상한다. from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementE..
-
FootballAnalysis
[K리그 데이터 분석] 1. K리그 데이터 포털 크롤러 구현
K리그 축구 전문 데이터 포털K리그의 모든 것이 담겨있습니다. 경기전 관전포인트 부터 전문 분석 매치서머리까지 지금 방문해보세요. 로그인 없이 이용하실 수 있습니다.data.kleague.com 첫번째 포스팅 겸 포트폴리오 준비로 K리그 매치 데이터를 양적 데이터 분석을 위해 크롤링하여 분석 가능한 형식으로 변환하는 파이프라인을 구현해보려고 한다. 이런 걸 데이터 파이프라인이라고하면 데이터 엔지니어분들이 화내실거 같아서... selenium과 bs4를 처음 배울 때에는 By.ID 와 By.CSS_SELECTOR 등을 이용하여 크롤링 코드를 작성했다.하지만, 해당 페이지의 경우 Javascript 함수로 페이지 요소가 변경되는 방식이라 새로운 방법을 찾아야 했고,driver.excute_script로 ..