본 콘텐츠의 이미지 및 내용은 AI로 생성되었습니다.
본 콘텐츠의 이미지 및 내용을 무단으로 복제, 배포, 수정하여 사용할 경우 저작권법에 의해 법적 제재를 받을 수 있습니다.
이미지 로딩 중...
CodeDeck AI
2025. 11. 8. · 32 Views
Pandas 데이터 분석 실전 예제
Pandas 라이브러리를 활용한 실전 데이터 분석 예제 모음입니다. 데이터 로딩부터 전처리, 분석, 시각화까지 초급자도 쉽게 따라할 수 있는 핵심 기능들을 다룹니다.
들어가며
이 글에서는 Pandas 데이터 분석 실전 예제에 대해 상세히 알아보겠습니다. 총 10가지 주요 개념을 다루며, 각각의 개념에 대한 설명과 실제 코드 예제를 함께 제공합니다.
목차
- DataFrame_생성과_데이터_로딩
- 결측치_처리하기
- 데이터_필터링과_조건_선택
- 그룹별_집계_분석
- 데이터_정렬하기
- 새로운_컬럼_생성
- 데이터_병합하기
- 피벗_테이블_만들기
- 날짜_데이터_처리
- 기술_통계_요약
1. DataFrame 생성과 데이터 로딩
개요
CSV 파일을 읽어서 DataFrame으로 변환하고 기본 정보를 확인하는 방법입니다.
코드 예제
import pandas as pd
# CSV 파일 읽기
df = pd.read_csv('sales_data.csv')
# 데이터 확인
print(df.head())
print(df.info())
설명
read_csv()로 파일을 불러오고, head()로 상위 5개 행을, info()로 데이터 타입과 결측치 정보를 확인합니다.
2. 결측치 처리하기
개요
데이터에서 누락된 값(NaN)을 찾아내고 적절하게 처리하는 방법입니다.
코드 예제
# 결측치 확인
print(df.isnull().sum())
# 결측치 제거
df_clean = df.dropna()
# 특정 값으로 채우기
df['age'].fillna(df['age'].mean(), inplace=True)
설명
isnull()로 결측치를 찾고, dropna()로 제거하거나 fillna()로 평균값 등으로 채울 수 있습니다.
3. 데이터 필터링과 조건 선택
개요
특정 조건을 만족하는 데이터만 선택하여 분석하는 방법입니다.
코드 예제
# 나이가 30 이상인 데이터
adults = df[df['age'] >= 30]
# 여러 조건 동시 적용
filtered = df[(df['age'] >= 25) & (df['city'] == 'Seoul')]
# 특정 컬럼만 선택
result = df[['name', 'age', 'salary']]
설명
대괄호 안에 조건식을 작성하여 원하는 데이터를 필터링하고, &(AND)와 |(OR) 연산자로 복합 조건을 만듭니다.
4. 그룹별 집계 분석
개요
데이터를 특정 기준으로 그룹화하여 통계값을 계산하는 방법입니다.
코드 예제
# 부서별 평균 급여
dept_avg = df.groupby('department')['salary'].mean()
# 여러 집계 함수 동시 적용
summary = df.groupby('city').agg({
'salary': ['mean', 'sum'],
'age': 'count'
})
설명
groupby()로 그룹을 나누고 mean(), sum() 등의 집계 함수를 적용하여 그룹별 통계를 계산합니다.
5. 데이터 정렬하기
개요
데이터를 특정 컬럼 기준으로 오름차순 또는 내림차순 정렬하는 방법입니다.
코드 예제
# 급여 기준 내림차순 정렬
sorted_df = df.sort_values('salary', ascending=False)
# 여러 컬럼 기준 정렬
multi_sort = df.sort_values(['department', 'age'],
ascending=[True, False])
설명
sort_values()로 정렬하며, ascending=False로 내림차순, 리스트로 여러 컬럼을 동시에 정렬할 수 있습니다.
6. 새로운 컬럼 생성
개요
기존 데이터를 활용해 새로운 계산 컬럼을 만드는 방법입니다.
코드 예제
# 연봉 계산
df['annual_salary'] = df['salary'] * 12
# 조건부 컬럼 생성
df['senior'] = df['age'].apply(
lambda x: 'Yes' if x >= 40 else 'No'
)
설명
기존 컬럼에 연산을 적용하거나 apply()와 lambda 함수로 조건에 따라 새로운 값을 생성합니다.
7. 데이터 병합하기
개요
두 개 이상의 DataFrame을 공통 키를 기준으로 합치는 방법입니다.
코드 예제
# 두 데이터프레임 병합
merged = pd.merge(df1, df2, on='employee_id', how='left')
# 인덱스 기준 병합
combined = pd.concat([df1, df2], axis=0)
설명
merge()로 SQL의 JOIN처럼 키를 기준으로 병합하고, concat()으로 행 또는 열 방향으로 데이터를 연결합니다.
8. 피벗 테이블 만들기
개요
데이터를 요약하여 엑셀의 피벗 테이블과 같은 형태로 변환하는 방법입니다.
코드 예제
# 피벗 테이블 생성
pivot = df.pivot_table(
values='sales',
index='month',
columns='product',
aggfunc='sum'
)
설명
pivot_table()로 행과 열을 지정하고 집계 함수를 적용하여 데이터를 다차원으로 요약합니다.
9. 날짜 데이터 처리
개요
날짜/시간 데이터를 파싱하고 다양한 시간 기반 분석을 수행하는 방법입니다.
코드 예제
# 문자열을 날짜로 변환
df['date'] = pd.to_datetime(df['date'])
# 연도, 월 추출
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
설명
to_datetime()으로 날짜 형식을 변환하고, dt 접근자로 연도, 월, 요일 등을 추출할 수 있습니다.
10. 기술 통계 요약
개요
데이터의 평균, 중앙값, 표준편차 등 핵심 통계량을 한눈에 확인하는 방법입니다.
코드 예제
# 전체 통계 요약
print(df.describe())
# 특정 컬럼 통계
print(df['salary'].mean())
print(df['salary'].median())
print(df['age'].value_counts())
설명
describe()로 모든 수치형 컬럼의 통계를 확인하고, mean(), median(), value_counts()로 개별 통계량을 계산합니다.
마치며
이번 글에서는 Pandas 데이터 분석 실전 예제에 대해 알아보았습니다. 총 10가지 개념을 다루었으며, 각각의 사용법과 예제를 살펴보았습니다.
관련 태그
#Pandas #DataFrame #DataAnalysis #DataProcessing #Visualization
댓글 (0)
함께 보면 좋은 카드 뉴스
프레임워크 선택 LangGraph vs CrewAI vs AutoGen 완벽 가이드
AI 에이전트 개발을 위한 세 가지 핵심 프레임워크를 비교 분석합니다. 각 프레임워크의 특징, 장단점, 실무 선택 기준을 초급 개발자도 이해할 수 있도록 설명합니다.
Day 6 학습 루프 이해하기
LLM이 실제로 어떻게 학습하는지 학습 루프의 핵심 원리를 단계별로 살펴봅니다. Forward Pass, Loss 계산, Backward Pass, 파라미터 업데이트까지 한 사이클의 전 과정을 이해합니다.
Day 5 Baseline 모델 만들기
복잡한 모델에 앞서 가장 단순한 Baseline 모델을 직접 만들어봅니다. 아무런 기교 없이 순수하게 다음 토큰을 예측하는 모델을 구현하면서, 언어모델의 가장 기본 구조를 이해합니다.
Day 4 학습용 샘플 데이터 만들기
LLM을 학습시키기 위한 샘플 데이터를 직접 만들어봅니다. 작은 텍스트 말뭉치를 준비하고, 토크나이저로 변환한 뒤 PyTorch 텐서로 만드는 전체 과정을 단계별로 배웁니다.
Day 2 PyTorch 기본기 정리
LLM을 직접 만들기 위해 꼭 알아야 할 PyTorch의 핵심 개념을 정리합니다. 텐서, 자동 미분, 옵티마이저까지 모델 학습의 기초를 다집니다.