[비정제 데이터] Data Cleaning w.trip

jul ee·2025년 4월 15일

데이터 성장기

목록 보기
46/139

📋 Trip 데이터 정제 프로젝트 (Data Cleaning)

본 프로젝트는 택시 이용 내역 데이터를 기반으로,
다양한 변수들을 활용하여 “택시 요금”을 예측한다는 가정하에 데이터를 정제하는 것을 목표로 진행하였다.

자세한 프로젝트 진행 과정은 GitHub repository에 남겨두었다.

🛠 사용 환경:  Python, Pandas, Jupyter Notebook


프로젝트 목표

✓  데이터 분석 전 필수 단계인 데이터 정제 흐름을 실제 데이터에 적용하며 익히기

✓  결측치, 이상치, 중복 데이터 처리 및 문자열/날짜형 데이터 처리 실습

✓  Pandas 메서드와 시각화를 활용하여 데이터 분포 및 정제 과정에 대한 이해도 높이기


분석 프로세스

내용주요 메서드
1데이터 로드 및 구조 확인read_csv(), info(), describe()
2중복 데이터 처리drop_duplicates()
3결측치 처리isna(), dropna()
4이상치 탐지 및 처리sns.scatterplot(), apply(), quantile(), 조건 필터링
5텍스트 데이터 처리replace(), .str.split(), .str
6날짜 데이터 처리pd.to_datetime(), .dt
7Feature Engineering연산식 기반 생성, 시간 변수 활용


💡 인사이트 및 결론

데이터를 확인하는 과정에서 결측치 및 이상치를 판단하기 위해 도메인에 대한 이해도가 필요한 것을 실감했다.

→  해당 데이터셋은 컬럼명이 직관적이어서 분석이 수월했지만, 도메인 이해 없이 단정하기 어려운 경우가 많을 수 있음을 느꼈다.

필요에 따라 결측치 및 이상치를 처리하기 전에 중복 데이터를 먼저 제거해야 하는 경우가 발생할 수도 있다.

데이터가 충분히 크고, 결측치가 많지 않다면 결측치를 채워서 노이즈가 끼게 되는 것보다는 제거하는 것이 나을 수 있다.

scatterplot()을 활용해 전체 데이터 분포를 시각화함으로써, 단순 수치 기반 필터링보다 직관적으로 이상치를 탐지할 수 있다.

travel_time(총 이동 시간)과 같은 새로운 변수를 생성함으로써, 기존 raw 데이터에서는 보이지 않던 패턴을 반영할 수 있다.

→  특히 tpep_pickup_datetime, tpep_dropoff_datetime을 활용한 시간 차 계산은 유용한 파생변수 생성 방식임을 알 수 있었다.


데이터에서 맥락을 파악하고 해석하는 시선이 얼마나 중요한지를 배울 수 있었다. 이상치나 결측치를 어떻게 다룰지 결정하는 과정에서 문제의 본질에 대한 이해와 판단이 뒷받침되어야 한다는 점을 다시 한 번 체감했다.

데이터를 무조건 빠르게 파악하고 넘어가기보다는 그 수치가 의미하는 바를 충분히 고민하며 정제 전략을 세우는 습관을 길러야겠다.

profile
AI에 관심을 가지고, 데이터로 가치를 만들어 나가는 과정을 기록합니다.

0개의 댓글