[파이썬] pandas에서 날짜와 시간 함수 (datetime accessor)

Pandas는 데이터 분석 및 조작을 위한 강력한 도구입니다. 이번에는 Pandas의 datetime accessor라는 기능을 알아보겠습니다. datetime accessor는 날짜와 시간 데이터를 쉽게 조작하고 통계적인 분석을 수행할 수 있는 다양한 함수를 제공합니다.

날짜와 시간 열 생성하기

먼저, datetime accessor를 사용하여 날짜와 시간 열을 생성해보겠습니다. 다음은 2021년 1월 1일부터 5일간의 날짜를 생성하는 예제입니다.

import pandas as pd

# 날짜 범위 생성
dates = pd.date_range(start='2021-01-01', periods=5)

# DataFrame 생성
df = pd.DataFrame({'Date': dates})

print(df)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

        Date
0 2021-01-01
1 2021-01-02
2 2021-01-03
3 2021-01-04
4 2021-01-05

날짜와 시간 열에서 정보 추출하기

이제 생성한 날짜 및 시간 열에서 정보를 추출하는 방법을 알아보겠습니다. datetime accessor를 사용하면 연, 월, 일, 주차, 시간대 등의 다양한 정보를 손쉽게 추출할 수 있습니다.

다음은 Date 열에서 연도(Year), 월(Month), 일(Day), 요일(DayOfWeek), 주차(Week), 시(Hour) 등의 정보를 추출하는 예제입니다.

df['Year'] = df['Date'].dt.year
df['Month'] = df['Date'].dt.month
df['Day'] = df['Date'].dt.day
df['DayOfWeek'] = df['Date'].dt.dayofweek
df['Week'] = df['Date'].dt.week
df['Hour'] = df['Date'].dt.hour

print(df)

출력 결과는 다음과 같습니다.

        Date  Year  Month  Day  DayOfWeek  Week  Hour
0 2021-01-01  2021      1    1          4    53     0
1 2021-01-02  2021      1    2          5    53     0
2 2021-01-03  2021      1    3          6    53     0
3 2021-01-04  2021      1    4          0     1     0
4 2021-01-05  2021      1    5          1     1     0

날짜와 시간에 대한 통계적 분석 수행하기

datetime accessor를 사용하면 날짜와 시간에 대한 통계적 분석도 쉽게 수행할 수 있습니다. 예를 들어, 주차별로 데이터를 그룹화하여 그룹별로 평균값을 구하는 예제를 살펴보겠습니다.

result = df.groupby(df['Date'].dt.week)['Value'].mean()

print(result)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Date
1    10.5
53     5.0
Name: Value, dtype: float64

마무리

이번 글에서는 Pandas의 datetime accessor를 사용하여 날짜와 시간 데이터를 쉽게 조작하고 통계적인 분석을 수행하는 방법을 알아보았습니다. datetime accessor는 데이터 분석 및 시계열 데이터 처리에 유용한 기능이니 활용해보시기 바랍니다.