[Python / Pandas] date_range()로 날짜 자유자재로 다루기

데이터를 추출하는 작업을 하다보면 특정 기간의 데이터를 쿼리로 가져온다거나 이런일들이 많다. 어떤 일들을 할 수 있는지 바로 예시부터 보자.

2017년 1월 1일 부터 12월 31일까지 각 주의 월요일들을 추출함
pd.date_range('1/1/2017', '12/31/2017', freq='W-MON')
['2017-01-02', '2017-01-09', '2017-01-16', '2017-01-23',
'2017-01-30', '2017-02-06', '2017-02-13', '2017-02-20',
'2017-02-27', '2017-03-06', '2017-03-13', '2017-03-20',
'2017-03-27', '2017-04-03', '2017-04-10', '2017-04-17',
'2017-04-24', '2017-05-01', '2017-05-08', '2017-05-15',
'2017-05-22', '2017-05-29', '2017-06-05', '2017-06-12',
'2017-06-19', '2017-06-26', '2017-07-03', '2017-07-10',
'2017-07-17', '2017-07-24', '2017-07-31', '2017-08-07',
'2017-08-14', '2017-08-21', '2017-08-28', '2017-09-04',
'2017-09-11', '2017-09-18', '2017-09-25', '2017-10-02',
'2017-10-09', '2017-10-16', '2017-10-23', '2017-10-30',
'2017-11-06', '2017-11-13', '2017-11-20', '2017-11-27',
'2017-12-04', '2017-12-11', '2017-12-18', '2017-12-25']
2017년 12월 달에 토,일을 제외한 평일들만 추출
pd.date_range('12/1/2017', '12/31/2017', freq='B')
['2017-12-01', '2017-12-04', '2017-12-05', '2017-12-06',
'2017-12-07', '2017-12-08', '2017-12-11', '2017-12-12',
'2017-12-13', '2017-12-14', '2017-12-15', '2017-12-18',
'2017-12-19', '2017-12-20', '2017-12-21', '2017-12-22',
'2017-12-25', '2017-12-26', '2017-12-27', '2017-12-28',
'2017-12-29']
2017년 12월 10일부터 4일치 날짜를 추출
pd.date_range(start='12/10/2017', periods=4, freq='D')
['2017-12-10', '2017-12-11', '2017-12-12', '2017-12-13']
2017년 12월 10일부터 4일전까지 날짜를 추출
pd.date_range(end='2017-12-10', periods=4, freq='D')
['2017-12-07', '2017-12-08', '2017-12-09', '2017-12-10']

기타 특정 기간의 분기별, 반기별 날짜를 추출한다거나, 1년동안의 월말, 월초, 중순 날짜를 추출하는 등의 일들이 가능합니다.

date_range()pandas 패키지에 내장되어 있다.

namioto's profile image

namioto

2019-03-07 11:08

Read more posts by this author