날짜/시간 추출의 마스터링: Pandas를 활용한 연도부터 주말 확인까지
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
데이터 분석가, 데이터 과학자, 시계열 데이터를 다루는 소프트웨어 개발자 (중급~고급)
핵심 요약
pd.to_datetime()
을 사용해 날짜 열을 datetime 형식으로 변환해야 시간 시계열 분석 가능.dt.weekday
,.dt.day_name()
,.dt.strftime('%a')
등을 통해 요일 정보 추출 (숫자, 이름, 약자).dt.quarter
,.dt.month_name()
,.dt.isocalendar().week
등으로 월, 분기, ISO 주차 정보 추출CustomBusinessDay
를 활용해 특정 국가의 공휴일을 반영한 비즈니스 일자 생성 가능
섹션별 세부 요약
- 날짜 형식 변환 및 기본 정보 추출
df['date'] = pd.to_datetime(df['date'])
로 날짜 열을 datetime 형식으로 변환.dt.weekday
(0=월요일, 6=일요일)과.dt.day_name()
을 통해 요일 이름 추출.dt.strftime('%a')
로 요일 약자 (Mon, Tue 등) 생성
- 시간 단위 정보 추출 (시간, 분, 초)
.dt.hour
,.dt.minute
,.dt.second
를 통해 시간/분/초 단위 추출.dt.month
,.dt.month_name()
으로 월 정보 추출 (숫자, 이름)
- ISO 주차 및 연도 정보 처리
.dt.isocalendar().week
으로 ISO 주차 추출 (Pandas 1.1.0 이상 지원).dt.year
으로 연도 추출 (데이터 그룹화, 트렌드 분석에 활용)
- 공휴일 기반 비즈니스 일자 생성
CustomBusinessDay
를 사용해 특정 국가의 공휴일 목록 입력 (예: Kenya_holidays)pd.date_range()
로 공휴일을 제외한 비즈니스 일자 생성 가능
- 시간 주기 (Frequency) 설정
'D'
(일일),'M'
(월말),'Q'
(분기말),'A'
(연말) 등 다양한 주기 설정BM
(월말 비즈니스일),BQ
(분기말 비즈니스일) 등 비즈니스 주기 사용
결론
Pandas의 .dt
액세서를 활용해 날짜/시간 정보를 효율적으로 추출하고, CustomBusinessDay
로 공휴일을 반영한 비즈니스 일자 생성이 핵심입니다. 특히 isocalendar().week
과 to_period()
함수는 시계열 데이터 분석에서 중요한 역할을 하며, 주기 설정 시 'D'
, 'M'
, 'BM'
등 적절한 코드를 선택하는 것이 실무 적용에 중요합니다.