본문 바로가기

문돌이 존버/데이터 분석

파이썬, pandas 일자 및 시간 처리 방법, feat. dt

반응형

파이썬을 통해 데이터 분석을 하면 판다스를 정말 많이 사용하는데요. 특히 날짜 및 시간과 관련해서 판다스 함수가 내장되어 있기 때문에 필요할 때 적절히 사용하면 편리할 것입니다. 

아래 판다스는 똑똑이 블로그를 참고하여 작성한 것입니다. 감사합니다!
df[column name].dt.date         # YYYY-MM-DD(문자)
df[column nam].dt.year         # 연(4자리숫자)
df[column nam].dt.month        # 월(숫자)
df[column nam].dt.month_name() # 월(문자)

df[column nam].dt.day          # 일(숫자)
df[column nam].dt.time         # HH:MM:SS(문자)
df[column nam].dt.hour         # 시(숫자)
df[column nam].dt.minute       # 분(숫자)
df[column nam].dt.second       # 초(숫자)
df[column nam].dt.quarter       # 분기(숫자)
df[column nam].dt.weekday_name  # 요일이름(문자) (=day_name())
df[column nam].dt.weekday       # 요일숫자(0-월, 1-화) (=dayofweek)
df[column nam].dt.weekofyear    # 연 기준 몇주째(숫자) (=week)
df[column nam].dt.dayofyear     # 연 기준 몇일째(숫자)
df[column nam].dt.days_in_month # 월 일수(숫자) (=daysinmonth)
df[column nam].dt.is_leap_year     # 윤년 여부
df[column nam].dt.is_month_start   # 월 시작일 여부
df[column nam].dt.is_month_end     # 월 마지막일 여부
df[column nam].dt.is_quarter_start # 분기 시작일 여부
df[column nam].dt.is_quarter_end   # 분기 마지막일 여부
df[column nam].dt.is_year_start    # 연 시작일 여부
df[column nam].dt.is_year_end      # 연 마지막일 여부

이번에는 판다스가 아닌 파이썬 자체의 datetime 모듈을 사용해보겠습니다. 그중에서도 strptimestrftime 을 비교해볼 건데요.

간단히 말해, strptime 은 문자열을 날짜 객체로 변환하는 것이고, strftime 은 날짜 객체를 문자열로 변환하는 것입니다. 이와 관련된 더 자세한 사항은 공식문서를 참고해주세요.

import datetime

date_v = '2020-12-31'

date_test = datetime.datetime.strptime(date_v, '%Y-%m-%d')
print(date_test)
print(type(date_test))

date_test2 = date_test.strftime('%Y-%m-%d')
print(date_test2)
print(type(date_test2))

728x90
반응형