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
는 데이터 분석 및 시계열 데이터 처리에 유용한 기능이니 활용해보시기 바랍니다.