데이터 처리의 친구: Pandas

Pandas 라이브러리를 단계별로 배우고 사용하는 방법을 예제를 통해 쉽게 설명해드릴게요. Pandas는 데이터 분석에서 가장 중요한 도구 중 하나로, 데이터를 정리하고 분석하는 데 강력한 기능을 제공합니다.


1단계: Pandas 시작하기

목표: Pandas 설치 및 기본적인 데이터 구조 이해

1. 설치

먼저 Pandas를 설치합니다. (이미 설치되어 있는 경우 생략)

pip install pandas

2. 기본 데이터 구조

Pandas에는 두 가지 주요 데이터 구조가 있습니다:

  • Series: 1차원 배열 (한 열 또는 한 행)
  • DataFrame: 2차원 테이블 (엑셀의 스프레드시트와 유사)

예제:

import pandas as pd

# Series 예제
s = pd.Series([10, 20, 30, 40])
print(s)

# DataFrame 예제
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df)

1.1 Series 예제
출력:

0    10
1    20
2    30
3    40
dtype: int64

1.2 DataFrame 예제
Pandas의 DataFrame은 2차원 데이터로 엑셀과 비슷한 구조입니다.
출력:

      Name  Age
0    Alice   25
1      Bob   30
2  Charlie   35

 

2단계: 데이터 로드 및 저장

목표: 외부 파일(csv, Excel)을 불러오고 저장하기

1. 데이터 읽기

Pandas는 다양한 파일 형식을 읽을 수 있습니다.

# CSV 파일 읽기
df = pd.read_csv('example.csv')

# Excel 파일 읽기
df_excel = pd.read_excel('example.xlsx')

# 데이터 확인
print(df.head())  # 처음 5행 출력

 

2. 데이터 저장

# CSV 파일로 저장
df.to_csv('output.csv', index=False)

# Excel 파일로 저장
df.to_excel('output.xlsx', index=False)

3단계: 데이터 탐색

목표: 데이터의 기본 구조와 통계적 정보를 확인하기

1. 데이터 구조 확인

print(df.shape)  # 데이터 크기 (행, 열)
print(df.columns)  # 열 이름
print(df.info())  # 데이터 타입 및 결측값 확인

2. 통계 정보 확인

print(df.describe())  # 숫자 데이터의 통계 정보
print(df['Age'].mean())  # 특정 열의 평균값

4단계: 데이터 전처리

목표: 결측값 처리, 데이터 정렬, 열 및 행 조작

1. 결측값 처리

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

# 결측값 채우기
df['Age'].fillna(df['Age'].mean(), inplace=True)

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

2. 데이터 정렬

# 나이 기준으로 정렬
df_sorted = df.sort_values(by='Age', ascending=True)
print(df_sorted)

3. 열 및 행 추가/삭제

# 새로운 열 추가
df['Salary'] = [50000, 60000, 70000]

# 열 삭제
df.drop(columns=['Salary'], inplace=True)

5단계: 데이터 필터링 및 그룹화

목표: 조건에 따라 데이터 필터링하고 그룹화하기

1. 조건 필터링

# 나이가 30 이상인 행 필터링
filtered_df = df[df['Age'] >= 30]
print(filtered_df)

2. 데이터 그룹화

# 'Age'를 기준으로 평균 계산
grouped = df.groupby('Age').mean()
print(grouped)

6단계: 데이터 시각화와 연결

목표: Pandas 데이터를 Matplotlib이나 Seaborn으로 시각화하기

1. 간단한 시각화

Pandas의 기본 시각화 기능 사용:

df['Age'].plot(kind='bar', title='Age Distribution')
plt.show()

2. Matplotlib와 연동

import matplotlib.pyplot as plt

plt.plot(df['Age'], df['Salary'])
plt.title('Age vs Salary')
plt.show()

7단계: 실습 프로젝트

목표: 실제 데이터를 활용하여 분석 연습

실습 예제

  1. 특정 기업의 주식 데이터 분석하기:
    • 데이터 불러오기
    • 이동 평균 계산
    • 주가 변화 시각화
  2. 영화 평점 데이터 분석:
    • 평점별 상위 영화 추출
    • 장르별 평균 평점 계산

DALL·E 2024-12-10 22.11.57 – A colorful and detailed mindmap illustrating the key features of the Pandas library in Python. The central node labeled ‘Pandas’ connects to main bran

 

마무리

Pandas는 데이터 분석에서 필수적인 도구입니다. 위 단계를 따라가며 실습하면 Pandas의 강력한 기능을 익힐 수 있습니다. 연습 데이터를 직접 만들어보거나, Kaggle 같은 곳에서 데이터셋을 다운로드받아 실습해보세요!