AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

날짜/시간 추출의 마스터링: Pandas를 활용한 연도부터 주말 확인까지

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

데이터 분석

대상자

데이터 분석가, 데이터 과학자, 시계열 데이터를 다루는 소프트웨어 개발자 (중급~고급)

핵심 요약

  • pd.to_datetime()을 사용해 날짜 열을 datetime 형식으로 변환해야 시간 시계열 분석 가능
  • .dt.weekday, .dt.day_name(), .dt.strftime('%a') 등을 통해 요일 정보 추출 (숫자, 이름, 약자)
  • .dt.quarter, .dt.month_name(), .dt.isocalendar().week 등으로 월, 분기, ISO 주차 정보 추출
  • CustomBusinessDay를 활용해 특정 국가의 공휴일을 반영한 비즈니스 일자 생성 가능

섹션별 세부 요약

  1. 날짜 형식 변환 및 기본 정보 추출
  • df['date'] = pd.to_datetime(df['date'])로 날짜 열을 datetime 형식으로 변환
  • .dt.weekday (0=월요일, 6=일요일)과 .dt.day_name()을 통해 요일 이름 추출
  • .dt.strftime('%a')로 요일 약자 (Mon, Tue 등) 생성
  1. 시간 단위 정보 추출 (시간, 분, 초)
  • .dt.hour, .dt.minute, .dt.second를 통해 시간/분/초 단위 추출
  • .dt.month, .dt.month_name()으로 월 정보 추출 (숫자, 이름)
  1. ISO 주차 및 연도 정보 처리
  • .dt.isocalendar().week으로 ISO 주차 추출 (Pandas 1.1.0 이상 지원)
  • .dt.year으로 연도 추출 (데이터 그룹화, 트렌드 분석에 활용)
  1. 공휴일 기반 비즈니스 일자 생성
  • CustomBusinessDay를 사용해 특정 국가의 공휴일 목록 입력 (예: Kenya_holidays)
  • pd.date_range()로 공휴일을 제외한 비즈니스 일자 생성 가능
  1. 시간 주기 (Frequency) 설정
  • 'D' (일일), 'M' (월말), 'Q' (분기말), 'A' (연말) 등 다양한 주기 설정
  • BM (월말 비즈니스일), BQ (분기말 비즈니스일) 등 비즈니스 주기 사용

결론

Pandas의 .dt 액세서를 활용해 날짜/시간 정보를 효율적으로 추출하고, CustomBusinessDay로 공휴일을 반영한 비즈니스 일자 생성이 핵심입니다. 특히 isocalendar().weekto_period() 함수는 시계열 데이터 분석에서 중요한 역할을 하며, 주기 설정 시 'D', 'M', 'BM' 등 적절한 코드를 선택하는 것이 실무 적용에 중요합니다.