[pandas 기초] 시간 데이터 생성하기 date_range()

서대철·2023년 7월 28일
0

판다스에서 date_range()는 균등하게 간격을 두고 날짜 또는 시간 기간을 포함하는 날짜-시간 인덱스를 생성하는 강력한 함수입니다. 주로 시계열 데이터 분석을 위해 날짜 시퀀스를 생성하는 데 사용됩니다. date_range() 함수는 다양한 매개변수 조합과 함께 사용하여 다양한 유형의 날짜 시퀀스를 만드는 데 사용될 수 있습니다.

구문:

pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs)

매개변수:

  • start: 시퀀스의 시작 날짜입니다.
  • end: 시퀀스의 종료 날짜입니다(포함됨).
  • periods: 생성할 기간(개수)입니다(int).
  • freq: 날짜를 생성할 빈도를 지정하는 문자열 또는 판다스 DateOffset 객체입니다.
  • tz: 날짜 범위의 시간대 이름입니다.
  • normalize: True인 경우 시작/종료 날짜를 자정으로 정규화합니다.
  • name: 생성된 인덱스의 이름입니다.
  • closed: 구간의 어느 쪽을 포함할지 결정합니다('right', 'left', 'both', 'neither' 중 선택).

예제:

일별 빈도로 날짜 범위 생성하기:

import pandas as pd

# 2023년 7월 1일부터 2023년 7월 10일까지 일별 빈도로 날짜 범위 생성
date_range_daily = pd.date_range(start='2023-07-01', end='2023-07-10', freq='D')
print(date_range_daily)

출력:

DatetimeIndex(['2023-07-01', '2023-07-02', '2023-07-03', '2023-07-04',
               '2023-07-05', '2023-07-06', '2023-07-07', '2023-07-08',
               '2023-07-09', '2023-07-10'],
              dtype='datetime64[ns]', freq='D')
  1. 월별 빈도로 날짜 범위 생성하기:
import pandas as pd

# 2023년의 처음 6개월에 대한 월별 빈도로 날짜 범위 생성
date_range_monthly = pd.date_range(start='2023-01-01', periods=6, freq='M')
print(date_range_monthly)

출력:

DatetimeIndex(['2023-01-31', '2023-02-28', '2023-03-31', '2023-04-30',
               '2023-05-31', '2023-06-30'],
              dtype='datetime64[ns]', freq='M')
  1. 시간대와 함께 시간별 빈도로 날짜 범위 생성하기:
import pandas as pd

# 2023년 7월 1일 00:00부터 2023년 7월 1일 06:00까지 시간별 빈도로 날짜 범위 생성 (UTC 시간대)
date_range_hourly = pd.date_range(start='2023-07-01', end='2023-07-01 06:00', freq='H', tz='UTC')
print(date_range_hourly)

출력:

DatetimeIndex(['2023-07-01 00:00:00+00:00', '2023-07-01 01:00:00+00:00',
               '2023-07-01 02:00:00+00:00', '2023-07-01 03:00:00+00:00',
               '2023-07-01 04:00:00+00:00', '2023-07-01 05:00:00+00:00',
               '2023-07-01 06:00:00+00:00'],
              dtype='datetime64[ns, UTC]', freq='H')

0개의 댓글