← 목록으로
단계 02

Pandas 데이터 처리

DataFrame 사고방식, 데이터 불러오기·필터·집계·조인 — 이후 Spark DataFrame과 1:1로 대응됩니다.

DataFrame이란

Pandas의 DataFrame은 그냥 엑셀 표라고 생각하면 됩니다. 행(row)이 하나의 기록, 열(column)이 하나의 항목입니다.

import pandas as pd

df = pd.read_csv("sales.csv")   # 파일 열기
df.head()                        # 앞 5줄 보기
df.info()                        # 열 이름, 타입, 빈 값 개수

꼭 알아야 할 5가지

# 1. 열 고르기
df[["region", "amount"]]

# 2. 조건으로 행 고르기
df[df["amount"] > 100]

# 3. 그룹별 합계 (이 수업의 핵심!)
df.groupby("region")["amount"].sum()

# 4. 정렬
df.sort_values("amount", ascending=False)

# 5. 빈 값 채우기
df.fillna(0)

1단계에서 반복문으로 썼던 "지역별 합계"가 3번 한 줄로 끝납니다.

두 표 합치기

두 CSV에 공통 열이 있으면 엑셀의 VLOOKUP처럼 붙일 수 있습니다.

regions = pd.read_csv("regions.csv")          # region, manager
merged = df.merge(regions, on="region")

저장하기

df.to_csv("out.csv", index=False)
df.to_parquet("out.parquet")     # pip install pyarrow

Parquet은 5단계에서 설명합니다. 지금은 "CSV보다 작고 빠른 저장 형식" 정도로만.

Pandas ↔ Spark 미리보기

나중에 배울 Spark는 Pandas와 거의 같은 단어를 씁니다. 지금 익혀두면 그대로 써먹습니다.

PandasSpark
pd.read_csv()spark.read.csv()
df[df.a > 1]df.filter(df.a > 1)
df.groupby("k").sum()df.groupBy("k").sum()
df.head()df.show()

연습

  1. 공공데이터포털에서 CSV 하나를 받아 read_csv → head() → info()
  2. 열 하나를 골라 groupby 합계를 내고 큰 순서로 정렬
  3. 결과를 CSV와 Parquet으로 저장하고 파일 크기 비교