Python 문법/Pandas_Dates and Times

[Dates and times](3) : pd.DatetimeIndex(), pd.date_range(), pd.timedelta_range()

jasonshin 2021. 11. 23. 12:49

 

시작일과 종료일을 세팅하면 알아서 날짜를 채워준다. 
pd.date_range('2021-11-12', '2021-12-29' )

DatetimeIndex(['2021-11-12', '2021-11-13', '2021-11-14', '2021-11-15',
               '2021-11-16', '2021-11-17', '2021-11-18', '2021-11-19',
               '2021-11-20', '2021-11-21', '2021-11-22', '2021-11-23',
               '2021-11-24', '2021-11-25', '2021-11-26', '2021-11-27',
               '2021-11-28', '2021-11-29', '2021-11-30', '2021-12-01',
               '2021-12-02', '2021-12-03', '2021-12-04', '2021-12-05',
               '2021-12-06', '2021-12-07', '2021-12-08', '2021-12-09',
               '2021-12-10', '2021-12-11', '2021-12-12', '2021-12-13',
               '2021-12-14', '2021-12-15', '2021-12-16', '2021-12-17',
               '2021-12-18', '2021-12-19', '2021-12-20', '2021-12-21',
               '2021-12-22', '2021-12-23', '2021-12-24', '2021-12-25',
               '2021-12-26', '2021-12-27', '2021-12-28', '2021-12-29'],
              dtype='datetime64[ns]', freq='D')

시작일, 종료일, 주기도 세팅할 수 있다. 

# 한시간 단위
pd.date_range('2021-11-12', '2021-12-29', freq='H')

DatetimeIndex(['2021-11-12 00:00:00', '2021-11-12 01:00:00',
               '2021-11-12 02:00:00', '2021-11-12 03:00:00',
               '2021-11-12 04:00:00', '2021-11-12 05:00:00',
               '2021-11-12 06:00:00', '2021-11-12 07:00:00',
               '2021-11-12 08:00:00', '2021-11-12 09:00:00',
               ...
               '2021-12-28 15:00:00', '2021-12-28 16:00:00',
               '2021-12-28 17:00:00', '2021-12-28 18:00:00',
               '2021-12-28 19:00:00', '2021-12-28 20:00:00',
               '2021-12-28 21:00:00', '2021-12-28 22:00:00',
               '2021-12-28 23:00:00', '2021-12-29 00:00:00'],
              dtype='datetime64[ns]', length=1129, freq='H')

 

# 주단위
pd.date_range('2021-11-12', '2021-12-29', freq='W')

DatetimeIndex(['2021-11-14', '2021-11-21', '2021-11-28', '2021-12-05',
               '2021-12-12', '2021-12-19', '2021-12-26'],
              dtype='datetime64[ns]', freq='W-SUN')

# 매수 수요일 단위로 
pd.date_range('2021-11-12', '2021-12-29', freq='W-Wed')

tetimeIndex(['2021-11-17', '2021-11-24', '2021-12-01', '2021-12-08',
               '2021-12-15', '2021-12-22', '2021-12-29'],
              dtype='datetime64[ns]', freq='W-WED')

# 시작일만 정하고, 개수표시, 주기표시 할 수도 있다. 
pd.date_range('2021-11-07', periods=10, freq='M')

DatetimeIndex(['2021-11-30', '2021-12-31', '2022-01-31', '2022-02-28',
               '2022-03-31', '2022-04-30', '2022-05-31', '2022-06-30',
               '2022-07-31', '2022-08-31'],
              dtype='datetime64[ns]', freq='M')

# 월초로
pd.date_range('2021-11-07', periods=10, freq='MS')

 

# 연말로
pd.date_range('2021-11-07', periods=10, freq='Y')

 

# 연초로
pd.date_range('2021-11-07', periods=10, freq='YS')

 

# 일하는 날짜로
pd.date_range('2021-11-07', periods=100, freq='B')

 

timedelta_range()

pd.timedelta_range(0, periods=10, freq='2H30T')

TimedeltaIndex(['0 days 00:00:00', '0 days 02:30:00', '0 days 05:00:00',
                '0 days 07:30:00', '0 days 10:00:00', '0 days 12:30:00',
                '0 days 15:00:00', '0 days 17:30:00', '0 days 20:00:00',
                '0 days 22:30:00'],
               dtype='timedelta64[ns]', freq='150T')

 

반응형