본문 바로가기

WIL

[240205주차] 본캠프 W8

WIL : Weekly I Learned
지난 일주일을 돌아봄으로써 나의 현재 상태를 파악하고
더 나은 다음 주를 만들기 위해 어떤 부분을 어떻게 채워나갈지 고민하는 것

 

내가 한 일(Facts)

- SQL 코드카타 19~120, 파이썬 코드카타 29~30 문제풀이

- 심화 프로젝트 주제 선정 및 데이터 전처리 작업  

느낀점(Feelings)

- 심화 프로젝트가 본격적으로 시작됐다. 이번엔 주어진 주제 중에서 한 가지를 선택하는 방식으로 진행됐다. 우리 팀은 전처리 작업이 가장 까다로워 보이는 GA 로그 데이터를 선택했다. 

- 시작부터 쉽지 않았다. 특정 칼럼의 값이 키-값이 쌍을 이룬 딕셔너리 형태로 들어가 있어서, 이를 분리하는 작업이 필요했다. EDA나 기초 통계량 파악은 둘째 치고 데이터 자체를 돌려볼 수 없어서, 데이터 평면화를 위한 코드 몇 줄 짜는 데만 꼬박 이틀이 걸렸다. 캐글에 공유된 코드는 참고만 하고, 머리를 잘 써서 내장함수로 해결해보고자 욕심을 부려서 시간이 더 걸렸다. 결국에는 JSON 라이브러리의 함수를 활용해 해결!

-  큰 산을 넘고 나니, 데이터 타입을 변경하는 데만 몇 시간씩 걸렸다. astype으로 하면 될 것 같아서 한 줄에 여러 칼럼의 타입을 바꾸는 코드를 썼더니 오류가 나서 다른 함수를 또 찾아봐야 했다. posix 시간대를 바꾸는 것이나 년-월 데이터를 한 번에 표시하는 것 등 작은 코드 하나 하나 수월하지 않았다. 수십 번의 구글링과 계속되는 오류 메시지 끝에, 하나씩 정리는 되었다. 제대로 한 건지는 모르겠으나.  프로젝트가 끝나면 코드 작성이 조금은 익숙해지길. 

- 이번에 처음으로 chat GPT를 써보았다. 무지하게 빠른 속도에 감탄했다. 100% 내가 원하는 답변이 나오진 않았으나 너무 막힐 때는 꽤 도움이 되었다.  

 

배운점(Findings)

- 중첩 딕셔너리처럼 생긴 JSON 파일을 데이터프레임 형식으로 평면화하는 법

- astype()로 각 칼럼별 데이터 타입 변경 

- 데이터 타입을 수치형으로 바꿀 때 pd.to_numeric()로 에러값은 NaN로 처리

- pd.to_datetime, datetime을 활용해 날짜형 데이터 타입으로 변경 및

└ 정수로 이뤄진 posix 시간대는 unit='s' 파라미터 적용하여 날짜 형태로 치환 가능 

└ 특정 형식으로 추출을 원할 때는 dt.strftime()로 형식 지정

 

앞으로의 방향성(Future)

- 심화 프로젝트 분석 및 아젠다(+가설) 정리, 발표 자료 준비 

'WIL' 카테고리의 다른 글

[240219주차] 본캠프 W10  (0) 2024.02.23
[240212주차] 본캠프 W9  (0) 2024.02.16
[240129주차] 본캠프 W7  (0) 2024.02.02
[240122주차] 본캠프 W6  (0) 2024.01.26
[240115주차] 본캠프 W5  (0) 2024.01.19