-
판다스(Pandas)로 데이터 정제하기: 데이터가 깨끗해야 인사이트도 쏟아진다! 🧹✨Python 2025. 4. 25. 14:19반응형
데이터 분석을 시작하려는데 데이터가 엉망이라면? 😱 걱정 마세요! 판다스(Pandas)만 있으면 누구나 데이터 정제 마스터가 될 수 있습니다. 오늘은 결측치 처리, 이상치 제거, 데이터 타입 변환 등 데이터 정제의 핵심 비법을 쉽고 흥미롭게 알려드릴게요. 데이터가 깨끗해야 진짜 인사이트가 쏟아진다는 사실, 잊지 마세요!
데이터 정제란? 왜 중요할까요? 🤔
현실 세계의 데이터는 항상 깨끗하지 않습니다. 누락된 값(결측치), 비정상적으로 튀는 값(이상치), 잘못된 데이터 타입 등 다양한 문제점이 숨어 있죠. 이런 문제를 해결하는 과정이 바로 데이터 정제입니다.
정제된 데이터는 분석의 정확도를 높이고, 더 신뢰할 수 있는 결과를 만들어줍니다.1. 결측치(Missing Values) 처리 🕳️
결측치란?
데이터가 비어 있는 부분을 말합니다. 예를 들어 설문조사에서 응답하지 않은 항목, 시스템 오류로 누락된 값 등이 이에 해당하죠.
결측치 확인하기
import pandas as pd df.isnull().sum() # 각 열의 결측치 개수 확인
결측치 처리 방법
- 제거하기: 결측치가 있는 행 또는 열을 삭제합니다.
df_clean = df.dropna()
- 채우기: 평균값, 최빈값, 혹은 앞/뒤의 값으로 채웁니다.
df_filled = df.fillna(df.mean()) # 평균값으로 채우기 df_ffill = df.fillna(method='ffill') # 앞의 값으로 채우기
💡 팁: 결측치 처리 방법은 데이터의 특성과 분석 목적에 따라 달라집니다. 무조건 삭제하지 말고, 데이터의 맥락을 꼭 고려하세요!
2. 이상치(Outliers) 제거 🚨
이상치란?
정상적인 데이터 범위에서 벗어난 값입니다. 예를 들어, 키 데이터에 300cm가 있다면 이상치일 가능성이 높죠.
이상치 탐지 방법
- IQR(사분위수 범위) 활용
Q1 = df['score'].quantile(0.25) Q3 = df['score'].quantile(0.75) IQR = Q3 - Q1 lower = Q1 - 1.5 * IQR upper = Q3 + 1.5 * IQR df_no_outliers = df[(df['score'] >= lower) & (df['score'] <= upper)]
- Z-score 활용
from scipy import stats df_no_outliers = df[(abs(stats.zscore(df['score'])) < 3)]
🚦 참고: 이상치는 반드시 제거해야 하는 것은 아닙니다. 데이터의 특성에 따라 중요한 신호일 수도 있으니, 분석 목적에 맞게 판단하세요!
3. 데이터 타입 변환 🔄
왜 필요할까요?
숫자처럼 보이지만 문자열로 저장된 데이터, 날짜 데이터가 단순 문자열로 되어 있는 경우 등 타입이 맞지 않으면 분석에 오류가 생길 수 있습니다.
타입 변환 방법
df['col'] = df['col'].astype(int) # 정수형으로 변환 df['date'] = pd.to_datetime(df['date']) # 날짜형으로 변환
4. 그 밖의 데이터 정제 꿀팁 💡
- 중복 데이터 제거
df_unique = df.drop_duplicates()
- 불필요한 열/행 삭제
df = df.drop(columns=['불필요한열'])
- 조건에 따라 값 변경
import numpy as np df['flag'] = np.where(df['score'] > 80, '합격', '불합격')
5. 판다스 원라이너로 데이터 정제 레벨업! ⚡
판다스의 강력한 한 줄 코드를 활용하면 데이터 정제가 훨씬 쉬워집니다.
예를 들어, 결측치를 그룹별로 앞의 값으로 채우고 싶다면?df_clean = df.sort_values('date').groupby('id').ffill()
이렇게 간단하게 해결할 수 있답니다!
6. 데이터 정제 자동화로 시간 절약하기 ⏱️
반복되는 데이터 정제 작업, 매번 수동으로 하시나요? 함수와 클래스를 만들어 자동화하면 훨씬 효율적으로 작업할 수 있습니다.
자동화된 데이터 정제 파이프라인을 구축하면, 다양한 데이터셋에도 쉽게 적용할 수 있어요.마무리 🎉
데이터 정제는 데이터 분석의 첫걸음이자, 가장 중요한 단계입니다. 판다스를 활용하면 누구나 쉽고 빠르게 데이터를 정제할 수 있어요. 오늘 알려드린 방법으로 데이터 정제, 어렵지 않게 시작해보세요!
궁금한 점이나 더 알고 싶은 내용이 있다면 댓글로 남겨주세요.
데이터가 깨끗해야 인사이트도 쏟아집니다! 🚀#판다스 #데이터정제 #결측치처리 #이상치제거 #데이터타입변환 #데이터 클리닝 #데이터전처리 #Python #Pandas
이 글이 도움이 되셨다면 공유와 구독 부탁드려요! 😊반응형 - 제거하기: 결측치가 있는 행 또는 열을 삭제합니다.