
이번 포스팅에서는 세번째 포스팅에 게시했던 코드를 리팩터링하는 과정에 대해 작성해보려고 한다.
5월 말에 첫 포스팅을 하고 벌써 3개월이 지났는데 중간에 ADsP 응시 준비에 전념하던 기간이 존재하였음을 감안하더라도 꽤 긴 시간이 소요됐다.
개인적인 이유를 제외하고 이 프로젝트가 길어지는 이유는 분석하는 대상은 명확하지만 어떤 방법으로 분석할 지는 명확하지 않기 때문이라고 생각한다.
그저 대상이 잘 이해하고 있는 데이터셋이기 때문에 이 프로젝트를 하고 있다는 사실을 인지하고 이러한 상황에 맞게 코드를 작성하면서, 우선순위가 뒤죽박죽이던 프로젝트가 조금이나마 정리가 되는 듯한 기분이 들었다.
scailing_method
삭제
이러한 결론을 내리고 첫 리팩터링으로 지난 포스팅에 업로드한 preprocessing()
함수에 scailing_method
파라미터를 삭제했다.
분석 방법이 명확하지 않기 때문에 스케일링을 min-max 정규화(minmax
)와 표준화(stnadard
)로 제한하면 추후에 적용하지 못 하는 분석방법이 존재할 것이라고 예상해서 분석 가능하게 전처리되어 최초로 수집되었을 때와 가장 유사한 형태로 저장되어 있어야 한다고 생각했다.
따라서 현재는 data
디렉터리에 전처리 이전 상태의 이벤트 데이터와 xG 데이터가 별도로 저장하고, preprocessed
디렉터리에 이전 포스팅에 설명한 과정을 거쳐 데이터가 저장되고 있다.
결과적으로 추후 분석에서 사용할 데이터 형태에 따라 DataFrame과 csv(DataFrame을 제외한 모든 데이터 구조)파일의 선택지만 남겨두었다.
def preprocessing(round_number)
...
merged_df.to_csv(output_preprocessed_file, index=False)
print(f"Data has been written to {output_preprocessed_file}")
# 두 가지 데이터 프레임에서 한 가지로 리턴
# 추후 분석에서 preprocessing() 함수 또는 저장된 csv 파일 중 선택하여 분석 진행 가능
return merged_df
K-league-pipeline-project/transform.py at master · jeongbeenson19/K-league-pipeline-project
Contribute to jeongbeenson19/K-league-pipeline-project development by creating an account on GitHub.
github.com
'FootballAnalysis' 카테고리의 다른 글
[K리그 데이터 분석] 4. Dashboard.py by Dash (0) | 2024.09.10 |
---|---|
[K리그 데이터 분석] 3. 데이터 전처리 및 변환 (0) | 2024.06.27 |
[K리그 데이터 분석] 2. xG 관련 데이터 수집 크롤러 구현 (0) | 2024.06.27 |
[K리그 데이터 분석] 1. K리그 데이터 포털 크롤러 구현 (1) | 2024.05.28 |