Python/Python 심화

Pandas를 이용한 데이터 처리 및 분석

임베디드 친구 2025. 7. 27. 18:25
728x90
반응형

Pandas를 이용한 데이터 처리 및 분석

Python에서 데이터 처리를 효율적으로 수행하려면 pandas 라이브러리를 활용하는 것이 필수적입니다. pandas는 데이터 분석과 조작을 위한 다양한 기능을 제공하며, 직관적인 API를 통해 데이터를 손쉽게 다룰 수 있습니다. 이번 포스팅에서는 pandas를 활용해 데이터를 처리하고 분석하는 방법을 다양한 예제와 함께 알아보겠습니다.


pandas란 무엇인가?

pandas는 Python에서 데이터 분석과 조작을 위한 라이브러리로, 다음과 같은 주요 기능을 제공합니다:

  • DataFrameSeries 객체를 통해 데이터를 구조화하여 다룸.
  • 데이터를 읽고 쓰는 기능(CSV, Excel, SQL 등).
  • 데이터 필터링, 그룹화, 집계 및 변환.
  • 결측값 처리 및 데이터 클리닝.

pandas를 설치하려면 다음 명령어를 사용합니다:

pip install pandas

DataFrame과 Series 이해하기

pandas의 핵심 데이터 구조는 SeriesDataFrame입니다.

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를 적극 활용하여 더 효율적으로 작업을 수행해 보세요.

728x90
반응형