Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – 특정 시계열 빈도의 DateTimeIndex에서 일(day) 추출하기

Pandas에서 특정 시계열 빈도로 생성한 DateTimeIndex에서 일(day) 정보를 추출하려면 DateTimeIndex.day 속성을 사용하면 됩니다. 이 속성은 인덱스에 포함된 각 날짜의 '일' 값을 정수 형태의 배열로 반환합니다.

필요한 라이브러리 가져오기

먼저 pandas 라이브러리를 임포트합니다.

import pandas as pd

DatetimeIndex 생성하기

기간(periods) 6개와 빈도(freq) 'D'(하루 단위)를 가지는 DatetimeIndex를 생성합니다. 시간대(tz)는 호주 시드니(Australia/Sydney)로 설정합니다.

datetimeindex = pd.date_range('2021-10-20 02:35:55', periods=6, tz='Australia/Sydney', freq='D')

생성된 DateTimeIndex를 화면에 출력해 보겠습니다.

print("DateTimeIndex...\n", datetimeindex)

이제 day 속성을 사용하여 일(day) 값을 가져옵니다.

print("\nGetting the day..\n", datetimeindex.day)

전체 예제 코드

다음은 지금까지 설명한 내용을 모두 포함한 전체 코드입니다.

import pandas as pd

# 기간 6개, 빈도 'D'(일 단위)인 DatetimeIndex 생성
# 시간대는 Australia/Sydney로 설정
datetimeindex = pd.date_range('2021-10-20 02:35:55', periods=6, tz='Australia/Sydney', freq='D')

# DateTimeIndex 출력
print("DateTimeIndex...\n", datetimeindex)

# DateTimeIndex 빈도 출력
print("DateTimeIndex frequency...\n", datetimeindex.freq)

# 일(day) 값 가져오기
print("\nGetting the day..\n", datetimeindex.day)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

DateTimeIndex...
DatetimeIndex(['2021-10-20 02:35:55+11:00', '2021-10-21 02:35:55+11:00',
               '2021-10-22 02:35:55+11:00', '2021-10-23 02:35:55+11:00',
               '2021-10-24 02:35:55+11:00', '2021-10-25 02:35:55+11:00'],
               dtype='datetime64[ns, Australia/Sydney]', freq='D')
DateTimeIndex frequency...
   <Day>

Getting the day..
   Int64Index([20, 21, 22, 23, 24, 25], dtype='int64')

결과 해석

출력 결과를 보면 2021년 10월 20일 02:35:55부터 시작하여 하루('D') 간격으로 총 6개의 타임스탬프가 생성되었습니다. 그리고 day 속성을 적용한 결과, 각 날짜의 일(day) 값인 [20, 21, 22, 23, 24, 25]가 Int64Index 형태의 정수 배열로 반환된 것을 확인할 수 있습니다. 이처럼 DateTimeIndex의 다양한 속성(year, month, day 등)을 활용하면 시계열 데이터에서 원하는 날짜 구성 요소를 손쉽게 추출할 수 있습니다.