Pandas를 이용한 데이터 처리 및 분석
Python에서 데이터 처리를 효율적으로 수행하려면 pandas 라이브러리를 활용하는 것이 필수적입니다. pandas는 데이터 분석과 조작을 위한 다양한 기능을 제공하며, 직관적인 API를 통해 데이터를 손쉽게 다룰 수 있습니다. 이번 포스팅에서는 pandas를 활용해 데이터를 처리하고 분석하는 방법을 다양한 예제와 함께 알아보겠습니다.
pandas란 무엇인가?
pandas는 Python에서 데이터 분석과 조작을 위한 라이브러리로, 다음과 같은 주요 기능을 제공합니다:
- DataFrame과 Series 객체를 통해 데이터를 구조화하여 다룸.
- 데이터를 읽고 쓰는 기능(CSV, Excel, SQL 등).
- 데이터 필터링, 그룹화, 집계 및 변환.
- 결측값 처리 및 데이터 클리닝.
pandas를 설치하려면 다음 명령어를 사용합니다:
pip install pandas
DataFrame과 Series 이해하기
pandas의 핵심 데이터 구조는 Series와 DataFrame입니다.
Series
Series는 1차원 데이터 구조로, 인덱스를 포함한 데이터 배열입니다.
import pandas as pd
# Series 생성
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print(s)
출력 결과:
a 1
b 2
c 3
d 4
e 5
dtype: int64
DataFrame
DataFrame은 2차원 데이터 구조로, 행과 열로 이루어진 테이블 형태입니다.
# DataFrame 생성
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)
출력 결과:
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
데이터 읽기 및 쓰기
pandas는 다양한 데이터 소스에서 데이터를 읽고 쓸 수 있는 기능을 제공합니다.
CSV 파일 읽기
# CSV 파일 읽기
csv_df = pd.read_csv('example.csv')
print(csv_df.head())
Excel 파일 읽기
# Excel 파일 읽기
excel_df = pd.read_excel('example.xlsx')
print(excel_df.head())
데이터 저장하기
# DataFrame을 CSV 파일로 저장
csv_df.to_csv('output.csv', index=False)
# DataFrame을 Excel 파일로 저장
excel_df.to_excel('output.xlsx', index=False)
데이터 탐색 및 필터링
데이터 분석에서 첫 번째 단계는 데이터를 탐색하는 것입니다. pandas는 이를 위한 다양한 메서드를 제공합니다.
데이터 정보 확인
print(df.info()) # 데이터 유형과 결측값 확인
print(df.describe()) # 숫자 데이터 통계 요약
특정 열 선택
print(df['Name']) # 'Name' 열만 선택
조건을 이용한 필터링
filtered_df = df[df['Age'] > 30] # Age가 30보다 큰 행만 선택
print(filtered_df)
데이터 변환 및 처리
데이터 분석 중에는 데이터를 변환하거나 처리해야 하는 경우가 많습니다. pandas는 이를 간단히 수행할 수 있는 메서드를 제공합니다.
결측값 처리
# 결측값 확인
print(df.isnull().sum())
# 결측값 대체
df['Age'].fillna(df['Age'].mean(), inplace=True) # 평균값으로 대체
데이터 정렬
sorted_df = df.sort_values(by='Age', ascending=False)
print(sorted_df)
데이터 그룹화 및 집계
grouped_df = df.groupby('City')['Age'].mean()
print(grouped_df)
실전 예제: 데이터 분석
아래는 pandas를 이용해 간단한 데이터 분석을 수행하는 예제입니다.
예제 데이터 준비
import numpy as np
data = {
'Product': ['A', 'B', 'C', 'A', 'B', 'C'],
'Sales': [100, 200, 300, 400, 500, 600],
'Profit': [20, 40, 60, 80, 100, 120]
}
df = pd.DataFrame(data)
매출과 이익의 합계 계산
total_sales = df['Sales'].sum()
total_profit = df['Profit'].sum()
print(f"총 매출: {total_sales}")
print(f"총 이익: {total_profit}")
제품별 매출 분석
product_sales = df.groupby('Product')['Sales'].sum()
print(product_sales)
출력 결과:
Product
A 500
B 700
C 900
Name: Sales, dtype: int64
결론
pandas는 Python에서 데이터를 처리하고 분석하기 위한 강력한 도구입니다. 본 포스팅에서는 pandas의 기본 사용법부터 실전 데이터 분석까지 다양한 내용을 다뤘습니다. 실제 데이터 분석 작업에서 pandas를 적극 활용하여 더 효율적으로 작업을 수행해 보세요.
'Python > Python 심화' 카테고리의 다른 글
Python Matplotlib와 Seaborn을 활용한 데이터 시각화 (0) | 2025.07.29 |
---|---|
Python NumPy를 이용한 수치 계산 (0) | 2025.07.28 |
Python 파일 입출력과 pathlib (0) | 2025.07.26 |
Python re를 이용한 정규 표현식 (0) | 2025.07.25 |
Python `os`, `sys`를 활용한 시스템 관리 (0) | 2025.07.24 |