2025.11.07 TIL (본캠프, 15일차)
본캠프를 시작한 지 벌써 3주가 되는 날이다. 시간이 이렇게 빨리 지나갈 줄은 몰랐다. 오늘은 3주를 마무리하면서 SQL복습과 데이터 분석의 필수인 전처리를 공부하는 날이다.
어제는 SQL 라이브 강의가 끝났기 때문에, 오늘은 한 주를 마무리하는 과정으로 SQL을 복습했다. 지난 주에 배웠던 Window Function, WITH 구문 등을 다시 한 번 정리하는 시간이었다.
그리고 SQL 문제 3문제를 풀었다. 지난주 10문제, 어제 6문제에 이어 계속되는 실전 문제풀이다. 매일 문제를 풀면서 느끼는 것은 반복이 진정한 학습을 만든다는 것이다.
오늘은 팀원들과 함께 아티클 스터디를 했다. 주제는 "비개발자를 위한 엑셀로 이해하는 SQL: FROM과 SELECT" 였다.
이 주제가 흥미로운 이유는 SQL의 가장 기본적인 개념인 FROM과 SELECT를 다시 한 번 다른 관점에서 본다는 점이다.
SQL을 배우면서 자연스럽게 사용하고 있는 FROM과 SELECT지만, 진정한 의미를 이해하는 것과 엑셀과의 연결고리를 이해하는 것은 다르다. 이런 식으로 기초 개념을 반복해서 보는 것이 얼마나 중요한지 다시 한 번 느꼈다.
그리고 아티클에서 가장 중요하다고 느낀점은 '문제 해결을 위한 데이터를 잘 찾는것'이다. FROM '테이블'이 SQL의 시작이면서 문제 해결을 위한 핵심이라고 생각한다.
오늘 가장 중요한 변화는 Python을 활용한 데이터 전처리 학습을 시작했다는 것이다.
아직 Python 기본 과정을 듣고 있는 입장에서 전처리 학습을 시작하는 것이 맞는지 의문이 들기도 했다. 하지만 바로 써먹을 수 있을 것 같아 학습을 진행했다. 데이터 분석의 실제 프로세스를 경험하고 싶었기 때문이다.
Pandas와 Seaborn 라이브러리
Python의 데이터 분석을 위해서는 강력한 라이브러리들이 필요하다. 그 중 가장 중요한 두 가지가 Pandas와 Seaborn이다.
- Pandas: 데이터를 테이블 형태(DataFrame)로 다루는 라이브러리. SQL의 SELECT 문과 유사한 기능들을 제공한다.
- Seaborn: 데이터 시각화를 위한 라이브러리. 통계적 시각화를 쉽게 만들 수 있다.
Seaborn 내장 데이터셋
오늘은 Seaborn에서 불러올 수 있는 여러 내장 데이터셋으로 실습을 진행했다. 각 데이터셋은 다양한 상황의 실제 데이터를 담고 있어 학습에 이상적이다.
- Iris 데이터셋 붓꽃의 꽃잎과 꽃받침의 길이와 너비를 포함한 데이터셋이다. 기계학습과 통계 학습에서 가장 널리 사용되는 데이터셋 중 하나다. 150개의 샘플과 4개의 특성을 포함하고 있다.
import seaborn as sns
iris = sns.load_dataset('iris')
print(iris.head()) # 처음 5개 행 출력
- Tips 데이터셋 음식점에서의 팁과 관련된 정보를 담고 있다. 식사 비용, 팁 금액, 고객의 성별, 시간대 등의 정보를 포함하고 있어 상관관계 분석에 유용하다.
- Titanic 데이터셋 타이타닉 호 침몰 사건의 승객들에 대한 정보를 포함하고 있다. 생존 여부, 객실 등급, 나이, 성별 등 다양한 변수를 통해 분류 분석 문제에 자주 사용된다.
- Flights 데이터셋 연도별, 월별 항공편 승객 수 데이터를 담고 있다. 시계열 데이터 분석에 적합하며 트렌드를 파악하는 데 유용하다.
- Planets 데이터셋 외계 행성 발견에 대한 정보를 담고 있다. 행성의 발견 연도, 질량, 궤도 주기 등의 정보를 포함하고 있어 천문학 데이터를 다루는 연습에 좋다.
깊이 있는 내용까지는 오늘 학습하지 않았지만, 이런 실제 데이터를 다루는 경험 자체가 정말 소중하다. 이론으로만 배우던 Python이 실제 데이터 분석에 어떻게 쓰이는지 몸으로 느껴볼 수 있기 때문이다.
데이터 전처리를 학습하면서 Python은 단순한 프로그래밍 언어가 아니라 데이터 분석의 강력한 도구라는 것이 체감되기 시작했다.
이번 주말에는 지금까지 배운 내용을 복습하고 싶다. SQL의 Window Function, WITH 구문, 그리고 Python의 함수와 자료구조 등 아직 완벽하게 이해하지 못한 부분들이 있기 때문이다.
하지만 현실적으로 시간이 충분할지 모르겠다. 그럼에도 불구하고 최대한 노력해보겠다는 다짐으로 주말을 맞이할 생각이다.
3주를 마무리하면서...
- 첫 주는 기초를 다지는 단계였다면, 2주차는 이론과 실전의 결합이 시작되는 단계였다. SQL 문제풀이의 양과 질이 모두 높아졌고, Python도 기초에서 실제 응용으로 진입하고 있다.
- 처음에는 SQL, Python, 아티클, 강의 등 모든 것이 별개로 느껴졌다. 하지만 이제는 이 모든 것이 "데이터 분석가가 되기 위한 여정"이라는 하나의 큰 그림 안에서 연결되고 있음을 느낀다.
- 12시간의 캠프 시간 속에서 SQL, Python, 아티클, 팀 활동, 문제풀이 등을 모두 소화하는 것은 결코 쉽지 않다. 하지만 우선순위를 정하고 계획을 세우면, 대부분의 것들을 완료할 수 있다는 것을 배웠다.
- 다음 주는 4주차다. 지금까지의 3주보다 더 심화된 내용들이 기다리고 있을 것이다. Window Function을 완벽히 이해하고, Python의 함수를 자유자재로 다룰 수 있게 되면, 진정한 의미의 데이터 분석이 시작될 것 같다.
3주를 보내면서 느낀 가장 큰 확신은 '꾸준함이 모든 것을 해결한다'는 것이다. 매일 조금씩, 단계별로 나아가면 불가능해 보이는 것도 가능해진다.
4주차도 같은 마음으로 나아가겠다!!!