시계열 데이터를 다룰 때는 특정한 시간 간격으로 데이터를 묶어서 집계하는 경우가 많습니다. 예를 들어, 분 단위 데이터를 일 단위로 합치거나 평균을 내는 작업이 필요할 때가 있습니다. 이럴 때 Pandas의 resample() 메서드를 활용할 수 있습니다.
Resample 기본 개념
resample()은 시계열 데이터를 원하는 시간 단위로 리샘플링(Resampling) 하는 기능입니다.
쉽게 말해, 데이터를 일정한 시간 간격으로 묶어서 합계·평균 등 집계를 할 수 있게 해줍니다.
기본 문법
df.resample(rule, on=None).agg(함수)
- rule: 묶을 시간 간격 ('D'=일, 'W'=주, 'M'=월, 'H'=시간 등)
- on: 시간 정보가 담긴 컬럼 (DatetimeIndex가 이미 설정돼 있으면 생략 가능)
- agg: 집계 함수 (mean, sum, count 등)
예시
import pandas as pd
# 샘플 데이터
date_rng = pd.date_range(start="2022-10-01", end="2022-10-10", freq="D")
df = pd.DataFrame({
"date": date_rng,
"sales": [10, 12, 9, 14, 20, 15, 13, 17, 19, 25]
})
# 날짜를 인덱스로 설정
df = df.set_index("date")
# 주 단위로 묶어서 평균 계산
weekly_sales = df.resample("W").mean()
print(weekly_sales)
출력 결과
sales
2022-10-02 10.5
2022-10-09 15.5
2022-10-16 25.0
일 단위 데이터를 주 단위 평균으로 집계했습니다.
자주 쓰는 시간 단위 (rule)

정리
- resample()은 시계열 데이터를 원하는 간격으로 묶어서 집계하는 기능
- rule 파라미터로 시간 단위를 지정 (D, W, M, H 등)
- 평균, 합계, 개수 등 다양한 집계 함수와 함께 활용 가능
💡 resample()은 시계열 데이터 분석에서 트렌드 파악, 요약 통계, 시각화 전처리 등에 자주 활용됩니다.
'파이썬 > 데이터프레임 다루기' 카테고리의 다른 글
| Pandas pipe() 함수의 개념과 활용 (0) | 2026.02.11 |
|---|---|
| Pandas에서 loc과 iloc의 차이 (1) | 2025.08.31 |
| Pandas에서 Category 타입 활용하기 (0) | 2025.08.31 |
| Pandas에서 Timedelta 이해하기 (0) | 2025.08.31 |
| Pandas에서 Timedelta 다루기 (0) | 2025.08.31 |