pd.date_range 알아보기



우리가 현업에서 엑셀로 데이터를 처리할 때, 보통의 경우 처리의 기준이 '날짜'가 되는 일들이 많습니다. 많은 업무들이 일별로 처리되기 때문입니다. 현업에서 엑셀을 사용하여 기준일로부터 몇 일간의 날짜를 만들 경우, 오른쪽의 사진처럼 기준일을 입력한 뒤에 드래그하여 여러 날짜를 쉽게 만들곤 합니다.

그런데 이러한 일은 파이썬에서 어떻게 처리할 수 있을까요?

판다스 라이브러리의 date_range함수를 사용하면 오른쪽 사진의 내용과 동일하게 일별로 날짜를 세팅할 수 있습니다. 이번 포스팅에서는 일정기간의 시간을 생성할 수 있는 판다스의 date_range함수를 살펴보도록 하겠습니다.









Do it! 점프 투 파이썬:이미 200만명이 이 책으로 프로그래밍을 시작했다!, 이지스퍼블리싱 혼자 공부하는 파이썬:파이썬 최신 버전 반영 파이썬 라이브러리를 활용한 데이터 분석:영화 평점 이름통계 선거 데이터 등 실사례 사용, 한빛미디어 Do it! 첫 파이썬:게임하듯 배우는 나의 첫 프로그래밍 책, 이지스퍼블리싱


date_range의 기본적인 사용법

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

먼저, 판다스에서 사용하는 함수이기 때문에 pandas 를 import한 후 사용할 수 있습니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

함수의 기본적인 사용법은 위 사진처럼 첫 번째 전달인자를 시작날짜, 두번째 전달인자로 종료날짜를 입력하면 됩니다. 그러면 시작하는 날짜부터 종료날짜까지 매일의 날짜를 생성해줍니다.

그런데 date_range함수에 입력하는 날짜는 위 사진의 첫 번째 셀처럼 년-월-일과 같은 형식 뿐만 아니라, 두 세번째 셀처럼 년/월/일, 월/일/년과 같은 다양한 날짜입력형식을 지원합니다. 그래서 이러한 형식들 중 자신이 원하는 형식을 선택하여 날짜를 생성할 수 있습니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

datetime모듈의 datetime자료형도 지원합니다. 따라서 datetime모듈을 다룬다면 date_range함수를 사용할 때 자신이 원하는 날짜를 더 자유롭게 표현할 수 있습니다.

빈도를 나타는 freq 매개변수

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

freq 매개변수를 사용하여 빈도(frequency)를 설정할 수 있습니다. freq 매개변수에는 위 사진처럼 빈도문자(frequency strings)를 입력해야 하는데, 빈도문자의 여러 종류에 대하여는 아래에서 살펴보도록 하겠습니다.

그런데 빈도문자들은 위 사진과 같이 배수를 함께 입력할 수 있습니다. 'D'는 일자를 나타내는 데, 3을 함께 입력하여 지정된 기간 내에서 3일 간격으로 날짜를 출력할 수 있습니다.

freq 매개변수에 사용되는 Frequncy strings

아래는 자주 사용되는 빈도문자들을 나열한 것입니다. 더 많은 빈도문자에 대하여는 여기를 클릭하여 살펴보실 수 있습니다.

AliasDescription
Bbusiness day frequency
Ccustom business day frequency
Dcalendar day frequency
Wweekly frequency
Mmonth end frequency
SMsemi-month end frequency (15th and end of month)
BMbusiness month end frequency
CBMcustom business month end frequency
MSmonth start frequency
SMSsemi-month start frequency (1st and 15th)
BMSbusiness month start frequency
CBMScustom business month start frequency
Qquarter end frequency

아래는 자주 사용되는 빈도문자의 예제입니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

B(business day frequency)는 해당 기간동안의 영업일만 출력해줍니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

W(weekly frequency)는 주말(일요일)을 출력해 줍니다. W-SUN도 마찬가지로 주말 중 일요일을 출력해주는데, 토요일을 출력하고 싶다면 W-SAT을, 월요일을 출력하고 싶다면 W-MON을 입력하면 됩니다. 나머지 요일도 마찬가지로 W-영문요일이름 세글자를 입력하여 출력할 수 있습니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

M(month end frequency)은 매월의 마지막 날짜를 출력해줍니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

매월의 시작일을 출력하고 싶다면 MS(month start frequency)를 입력하면 됩니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

BMS(business month start frequency)는 매월 첫 영업일을 출력해줍니다.

Periods 매개변수의 사용

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

date_range함수와 함께 자주 사용되는 매개변수 중 하나는 periods입니다. periods 매개변수는 date_range함수에 전달된 시작날짜와 종료날짜를 periods 매개변수에 전달된 기간만큼 동일하게 나누어 출력해줍니다.

위 사진에서는 2020년 10월 1일부터 10월 20일까지의 기간이 5개의 날짜로 나뉘어 출력된 것을 확인할 수 있습니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

이전 사진과는 달리 위 사진에서는 2020년 10월 1일부터 10월 20일까지의 기간이 10개로 나뉘어 출력되었습니다.

Do it! 점프 투 파이썬:이미 200만명이 이 책으로 프로그래밍을 시작했다!, 이지스퍼블리싱 혼자 공부하는 파이썬:파이썬 최신 버전 반영 파이썬 라이브러리를 활용한 데이터 분석:영화 평점 이름통계 선거 데이터 등 실사례 사용, 한빛미디어 Do it! 첫 파이썬:게임하듯 배우는 나의 첫 프로그래밍 책, 이지스퍼블리싱

Leave a Comment