Daily Data Log

[Day 1] Pandas로 데이터 핸들링 기본기 다지기

parkdongchan 2025. 3. 6. 16:19
728x90
반응형

📌 개요

Pandas는 데이터 분석과 조작을 위한 강력한 Python 라이브러리로, 데이터 사이언스 및 머신러닝 프로젝트에서 필수적으로 사용됩니다. 이번 포스팅에서는 Pandas의 핵심 기능을 정리하고, 실습을 통해 기본적인 데이터 핸들링 방법을 익혀보겠습니다.


1️⃣ Pandas란?

Pandas는 표 형태(테이블) 데이터 처리를 위한 라이브러리로, DataFrameSeries라는 두 가지 주요 데이터 구조를 제공합니다.

  • Series: 1차원 배열 구조 (index + value)
  • DataFrame: 2차원 테이블 구조 (행과 열로 구성됨)
import pandas as pd
import numpy as np

# Series 예제
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)

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

2️⃣ 데이터 불러오기

CSV, Excel, SQL 등의 외부 데이터를 Pandas로 불러올 수 있습니다.

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

# 엑셀 파일 읽기
df = pd.read_excel('data.xlsx')

3️⃣ 데이터 조회 및 기초 정보 확인

데이터를 분석하기 전에, 기본적인 정보를 조회하는 것이 중요합니다.

# 데이터 크기 확인
print(df.shape)  # (행, 열)

# 데이터 앞부분 출력
print(df.head())  # 기본 5개 행 출력

# 데이터 타입 확인
print(df.info())

# 기술 통계 요약
print(df.describe())

4️⃣ 데이터 필터링 및 선택

특정 열 또는 행을 선택하는 방법을 알아봅니다.

# 특정 컬럼 선택
print(df['Name'])

# 여러 컬럼 선택
print(df[['Name', 'Age']])

# 특정 조건 필터링 (30세 이상)
print(df[df['Age'] >= 30])

5️⃣ 데이터 정렬 및 그룹화

데이터를 특정 기준으로 정렬하거나 그룹화할 수 있습니다.

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

# 도시별 평균 나이 계산
print(df.groupby('City')['Age'].mean())

6️⃣ 데이터 수정 및 추가

기존 데이터를 변경하거나 새로운 데이터를 추가하는 방법을 알아봅니다.

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

# 값 변경
df.loc[df['Name'] == 'Alice', 'Age'] = 26

# 행 추가
df = df.append({'Name': 'David', 'Age': 40, 'City': 'Daegu', 'Salary': 80000}, ignore_index=True)

7️⃣ 결측값 처리

데이터셋에서 결측값(NaN)을 처리하는 것은 중요한 과정입니다.

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

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

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

8️⃣ 데이터 저장

처리한 데이터를 저장하는 방법입니다.

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

# 엑셀로 저장
df.to_excel('processed_data.xlsx', index=False)

📌 마무리

이번 포스팅에서는 Pandas의 기본적인 기능을 익혔습니다. Pandas는 데이터 분석의 기본이 되는 라이브러리이므로, 다양한 기능을 직접 실습해보면서 익숙해지는 것이 중요합니다. 다음 포스팅에서는 SQL을 활용한 데이터 추출 및 가공 방법을 다뤄보겠습니다!

728x90
반응형