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

Python Pandas – DateTimeIndex의 날짜가 분기의 마지막 날인지 확인하는 방법

DateTimeIndex에 포함된 날짜가 해당 분기의 마지막 날인지 확인하려면 DateTimeIndex.is_quarter_end 속성을 사용하면 됩니다. 이 속성은 각 날짜가 분기의 마지막 날에 해당하면 True, 그렇지 않으면 False를 담은 불리언(Boolean) 배열을 반환합니다.

필요한 라이브러리 임포트

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

import pandas as pd

DatetimeIndex 생성하기

시작 시점 '2021-6-15 02:30:50'부터 총 6개의 타임스탬프를 15일 간격으로 생성하고, 시간대(timezone)는 Australia/Adelaide로 지정합니다.

datetimeindex = pd.date_range('2021-6-15 02:30:50', periods=6, tz='Australia/Adelaide', freq='15D')

DatetimeIndex 확인하기

생성된 DateTimeIndex를 출력해 내용을 확인합니다.

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

분기의 마지막 날 여부 검사하기

is_quarter_end 속성을 사용하여 각 날짜가 분기의 마지막 날인지 확인합니다.

print("\nCheck whether the date in DateTimeIndex is the last day of the quarter...\n", datetimeindex.is_quarter_end)

전체 예제 코드

import pandas as pd

# 6개의 기간과 15일(D) 빈도를 가지는 DatetimeIndex 생성
# 시간대는 Australia/Adelaide로 설정
datetimeindex = pd.date_range('2021-6-15 02:30:50', periods=6, tz='Australia/Adelaide', freq='15D')

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

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

# DateTimeIndex의 날짜가 분기의 마지막 날인지 확인
# 분기는 다음과 같이 계산됩니다:
# 1분기 = 1월 1일 ~ 3월 31일
# 2분기 = 4월 1일 ~ 6월 30일
# 3분기 = 7월 1일 ~ 9월 30일
# 4분기 = 10월 1일 ~ 12월 31일
print("\nCheck whether the date in DateTimeIndex is the last day of the quarter...\n", datetimeindex.is_quarter_end)

실행 결과

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

DateTimeIndex...
DatetimeIndex(['2021-06-15 02:30:50+09:30', '2021-06-30 02:30:50+09:30',
'2021-07-15 02:30:50+09:30', '2021-07-30 02:30:50+09:30',
'2021-08-14 02:30:50+09:30', '2021-08-29 02:30:50+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='15D')
DateTimeIndex frequency...
<15 * Days>

Check whether the date in DateTimeIndex is the last day of the quarter...
[False True False False False False]

결과 해석

출력 결과를 보면 두 번째 날짜인 2021-06-30만 True로 표시되었습니다. 이는 6월 30일이 2분기(4월 1일 ~ 6월 30일)의 마지막 날이기 때문입니다. 나머지 날짜들은 분기의 마지막 날이 아니므로 모두 False가 반환되었습니다.

참고로, 분기의 첫 번째 날인지 확인하려면 is_quarter_start 속성을, 연도의 마지막 날인지 확인하려면 is_year_end 속성을 사용할 수 있습니다.