이미지 로딩 중...
CodeDeck AI
2025. 11. 8. · 1 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