본문 바로가기
프로그래밍

Python Pandas로 데이터 분석 기초

by 이음코드 2025. 1. 2.
반응형

Python의 데이터 분석 라이브러리인 Pandas는 데이터 분석과 처리에 필수적인 도구입니다. Pandas를 사용하면 데이터 프레임(DataFrame)과 시리즈(Series)를 효율적으로 다룰 수 있으며, 데이터 정리, 분석, 시각화 등 다양한 작업을 간편하게 수행할 수 있습니다. 이번 글에서는 Pandas의 기본적인 사용법을 소개하고 실습 예제를 통해 데이터를 다루는 방법을 알아보겠습니다.

목차

  1. Pandas란?
  2. Pandas 설치 방법
  3. Pandas의 주요 데이터 구조
  4. 데이터 읽기 및 쓰기
  5. 데이터 선택 및 필터링
  6. 데이터 처리 및 정리
  7. 간단한 데이터 분석 예제

1. Pandas란?

Pandas는 데이터 조작과 분석을 위해 설계된 Python 라이브러리입니다.

  • 다양한 파일 형식(CSV, Excel, SQL, JSON등) 에서 데이터를 읽고 쓸 수 있음
  • 데이터 정리, 필터링, 변환 작업 지원
  • 통계 및 집계 연산 기능 제공
  • 데이터 시각화 라이브러리(Matplotlib, Seaborn 등)와의 연동

2. Pandas 설치 방법

Pandas는 pip 명령어를 통해 간단히 설치할 수 있습니다. 터미널(또는 명령 프롬프트)에서 다음 명령어를 실행하세요.

pip install pandas

설치가 완료된 후 Pandas 버전을 확인하려면 Python 인터프리터에서 다음 코드를 실행합니다.

import pandas as pd
print(pd.__version__)


3. Pandas의 주요 데이터 구조

Pandas는 Series 와 DataFrame이라는 두 가지 주요 데이터 구조를 제공합니다.
(1) Series
Series는 1차원 배열로 인덱스와 값의 쌍으로 구성됩니다.

import pandas as pd

data = [10, 20, 30, 40]
series = pd.Series(data, index=['a', 'b', 'c', 'd'])
print(series)

# 출력

a    10
b    20
c    30
d    40
dtype: int64


(2) DataFrame
DataFrame은 행과 열로 이루어진 2차원 데이터 구조입니다.

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'San Francisco', 'Los Angeles']
}
df = pd.DataFrame(data)
print(df)

# 출력

      Name  Age           City
0    Alice   25      New York
1      Bob   30  San Francisco
2  Charlie   35   Los Angeles

4. 데이터 읽기 및 쓰기

Pandas는 다양한 파일 형식을 지원합니다. 가장 기본적인 CSV파일을 다루는 예제를 살펴보겠습니다.
(1) CSV 파일 읽기

df = pd.read_csv('data.csv')
print(df.head())  # 상위 5개 행 출력


(2) CSV 파일 쓰기

df.to_csv('output.csv', index=False)

Excel, SQL, JSON  등의 파일도 비슷한 방식으로 읽고 쓸 수 있습니다.

5. 데이터 선택 및 필터링

Pandas에서는 데이터를 쉽게 선택하고 필터링할 수 있습니다.
(1) 특정 열 선택

print(df['Name'])


(2) 조건 필터링

filtered = df[df['Age'] > 30]
print(filtered)


(3) 행과 열 동시 선택

print(df.loc[0, 'Name'])  # 첫 번째 행의 'Name' 열 값
print(df.iloc[0, 1])      # 첫 번째 행의 두 번째 열 값


6. 데이터 처리 및 정리

(1) 결측값 처리

# 결측값 확인
print(df.isnull().sum())

# 결측값 채우기
df.fillna('Unknown', inplace=True)

# 결측값 삭제
df.dropna(inplace=True)


(2) 데이터 변환

# 열 추가
df['Age Group'] = df['Age'].apply(lambda x: 'Adult' if x >= 18 else 'Child')

# 열 이름 변경
df.rename(columns={'Name': 'Full Name'}, inplace=True)


7. 간단한 데이터 분석 예제

실제 데이터를 사용한 간단한 데이터 분석 예제를 살펴보겠습니다.

(1) 데이터 준비
예제 데이터를 생성하거나 CSV파일에서 데이터를 불러옵니다.

data = {
    'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
    'Values': [10, 20, 15, 25, 10, 30]
}
df = pd.DataFrame(data)


(2) 데이터 집계

# 카테고리별 합계
grouped = df.groupby('Category')['Values'].sum()
print(grouped)

# 출력

Category
A    35
B    75
Name: Values, dtype: int64


(3) 시각화

import matplotlib.pyplot as plt

grouped.plot(kind='bar')
plt.title('Category-wise Sum of Values')
plt.xlabel('Category')
plt.ylabel('Sum of Values')
plt.show()

8. 결론

이번 글에서는 Pandas의 기본적인 기능과 사용법을 간단히 살펴보았습니다. Pandas는 데이터 분석의 입문자에게도 친숙하며, 복잡한 데이터 처리와 분석 작업을 간소화합니다.

반응형