Python

[파이썬] datetime 타입 변환/ 날짜 요소 추출(dt)/ 현재 날짜, 시간 표현

weweGH 2025. 4. 4. 09:00
반응형

날짜, 시간 데이터 처리
날짜, 시간 데이터 처리


datetime 타입 변환/ 날짜 요소 추출(dt)/ 현재 날짜, 시간 표현


들어가며


데이터 분석을 하기 전, 조심해야 하는 부분 중 하나는 날짜, 시간 데이터에 관한 처리입니다. 이 글에서는 to_datetime을 통한 데이터 타입 변경과 dt 함수를 통한 날짜 요소추출 그리고 현재 날짜, 시간을 표현하는 방법에 대해 설명하겠습니다. 예제로 사용하는 데이터는 캐글의 지진 데이터셋입니다. 먼저 데이터 다운로드 후 read_csv로 데이터를 불러옵니다.

df = pd.read_csv('earthquake_1995-2023.csv')
print(len(df))
df.head()

df.head()
df.head()


  • datetime 타입 변환
  • dt 연산자 활용 날짜 요소 추출
  • 현재 날짜, 시간 표현

datetime 타입 변환


날짜 데이터를 다루기 위해서 판다스의 to_datetime을 활용하여 data type을 변경합니다.

print('변환 전', df.date_time.dtype)
df['date_time_rev'] = pd.to_datetime(df['date_time'], format="%d-%m-%Y %H:%M")
print('변환 후', df.date_time_rev.dtype)
df.head()

pd.to_datetime
pd.to_datetime

반응형

dt 연산자 활용 날짜 요소 추출


파이썬에 내장된 dt 연산자를 활용하면 다양한 날짜 및 시간 요소를 추출할 수 있습니다.

dt
normalize 표준화(YYYY-MM-DD)
year 연도
day_of_year 1년 중 ??번째 날
isocalendar().week 1년 중 ??주차
quarter 분기
month
is_month_start 월의 시작 일자 bool값(True/False)
is_month_end 월의 종료 일자 bool값(True/False)
day
weekday 요일(0~6)

df['normalize'] = df['date_time_rev'].dt.normalize() # 표준화

df['year'] = df['date_time_rev'].dt.year # 연도
df['day_of_year'] = df['date_time_rev'].dt.day_of_year # 1년 중 ??번째 날
df['week_seq'] = df['date_time_rev'].dt.isocalendar().week # 1년 중 ??주차
df['quarter'] = df['date_time_rev'].dt.quarter # 분기

df['month'] = df['date_time_rev'].dt.month # 월
df['is_month_start'] = df['date_time_rev'].dt.is_month_start # 월의 시작 일자
df['is_month_end'] = df['date_time_rev'].dt.is_month_end # 월의 종료 일자

df['day'] = df['date_time_rev'].dt.day # 일
df['weekday'] = df['date_time_rev'].dt.weekday # 요일
df.head()

dt
dt


현재 날짜, 시간 표현


datetime을 활용하여 현재 날짜와 시간을 출력하고, strftime을 활용하여 다양하게 표현할 수 있습니다.

print('현재 날짜, 시간: ', datetime.datetime.now())
print('현재 날짜 %Y%m%d: ', datetime.datetime.now().strftime("%Y%m%d"))
print('현재 날짜 %Y-%m-%d: ', datetime.datetime.now().strftime("%Y-%m-%d"))
print('현재 날짜, 시간 %Y-%m-%d %H:%M: ', datetime.datetime.now().strftime("%Y-%m-%d %H:%M"))

현재 날짜, 시간
현재 날짜, 시간


반응형