본문 바로가기
Python/Pandas

pandas.TimeGrouper로 시간 기반 데이터 집계하기

by PySun 2025. 6. 19.
반응형

pandas.TimeGrouper: 시간 기반 데이터 집계의 멋진 도구

데이터를 다룰 때 가장 중요한 것 중 하나는 시간을 정리하고 이해하는 것입니다. pandas 라이브러리에서는 TimeGrouper를 통해 시간 기반의 데이터를 집계할 수 있는 뛰어난 기능을 제공합니다. 이 글에서는 TimeGrouper를 사용하여 시간 기반 데이터를 효과적으로 처리하는 방법을 알아보겠습니다.

pandas.TimeGrouper 소개

TimeGrouper는 주어진 시간 인덱스를 기준으로 데이터를 그룹화하고 집계할 수 있게 해주는 유용한 도구입니다. 특히 시계열 데이터에서 특정 주기(예: 일, 주, 월 등)로 데이터를 집계할 수 있어 데이터 분석에 매우 유용합니다.

클래스 시그니처

pandas.TimeGrouper(freq)

매개변수:

  • freq: 데이터를 그룹화할 주기(예: 'D'는 하루, 'W'는 주, 'M'은 월 등).

반환 값:

  • 지정된 주기별로 그룹화된 데이터 오브젝트를 반환합니다.

사용 예제

기본 예제

다음은 TimeGrouper을 사용하여 주 단위로 데이터를 집계하는 기본 예제입니다.

import pandas as pd

# 예제 데이터프레임 생성
date_rng = pd.date_range(start='2024-01-01', end='2024-01-10', freq='D')
data = {'date': date_rng, 'value': range(10)}
df = pd.DataFrame(data)

# 'date'를 인덱스로 설정
df.set_index('date', inplace=True)

# TimeGrouper를 사용하여 주 단위로 데이터를 집계
weekly_groups = df.groupby(pd.Grouper(freq='W')).sum()

print(weekly_groups)
# 출력:
#            value
# date             
# 2024-01-07      21
# 2024-01-14      9

다양한 주기로 데이터 집계하기

이제 매일의 데이터를 월 단위로 집계해보겠습니다. 어떻게 다른 주기의 집계를 수행할 수 있는지 볼까요?

monthly_groups = df.groupby(pd.Grouper(freq='M')).sum()

print(monthly_groups)
# 출력:
#            value
# date             
# 2024-01-31      45

결론

pandas.TimeGrouper는 시간 기반 데이터 집계에 매우 강력한 도구입니다. 이 기능을 통해 데이터를 손쉽게 정리하고, 특정 시간 간격에 따른 통계치를 분석할 수 있는 가능성을 열어줍니다. 시계열 데이터를 효과적으로 처리하여 통찰력을 확보해보세요!

  • TimeGrouper을 활용하여 데이터를 원하는 주기로 집계해보세요!
  • 지금 바로 pandas의 시간 집계 기능을 경험해 보세요!
반응형