Python/Pandas

[Pandas] 파이썬 판다스 요일 추출 방법 정리(weekday, day_name(), 한글 요일 이름)

jimmy_AI 2022. 8. 23. 19:54
반응형

Python pandas 데이터프레임 요일 구하기

파이썬의 판다스 모듈로 데이터프레임 내의 날짜 정보를 다룰 때,

요일 정보를 추출하는 여러 가지 방법들에 대하여 정리해보도록 하겠습니다.

 

이해를 돕기 위하여 아래와 같은 데이터프레임 df를 예시로 가정해보도록 하겠습니다.

 

참고로, 먼저 아래 코드로 시간 정보가 있는 열을 datetime 자료형으로 변환해주어야 합니다.

df['시간'] = pd.to_datetime(df['시간'])

 

 

1. dt.weekday : 요일 정보를 숫자로 추출

datetime 자료형에서 dt.weekday 속성을 통하여 요일 정보를 숫자로 가져올 수 있습니다.

0은 월요일, 1은 화요일, ..., 6은 일요일을 의미합니다.

df['weekday'] = df['시간'].dt.weekday

df

 

반응형

 

2. dt.day_name() : 요일의 영어 이름을 추출

datetime 자료형에서 제공하는 day_name() 메소드로 각 요일의 영어 이름

단번에 가져오는 것이 가능합니다.

(참고 : 속성이 아니라 메소드라 dt.day_name이 아닌 dt.day_name()으로 사용해야 합니다.)

df['day_name'] = df['시간'].dt.day_name()

df

 

 

3. 요일의 한글 이름을 추출

요일의 한글 이름은 apply 메소드 등의 기능을 활용하여 weekday의 정보를

월 ~ 일의 이름으로 변환시켜주시면 됩니다.

 

요일 이름이 담긴 리스트를 선언하고 0~6번째 인덱스의 값에 매칭되는 이름으로

한글 요일 이름을 추출한 예시 코드는 아래와 같습니다.

# 0~6번 인덱스 위치에 각 한글 요일 이름이 담긴 리스트
weekday_list = ['월', '화', '수', '목', '금', '토', '일']

# apply 함수로 숫자 -> 요일 이름으로 변환
df['요일'] = df.apply(lambda x : weekday_list[x['weekday']], axis = 1)

df

다른 형태의 요일 이름을 대신 사용하고 싶다면 위의 코드에서

weekday_list의 원소들만 변경하여 적용해주시면 됩니다.