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

Python Pandas – Period 객체에서 분기(Quarter) 구하는 방법

Pandas의 Period 객체에서 해당 날짜가 속한 분기(Quarter)를 확인하려면 period.quarter 속성을 사용하면 됩니다. 복잡한 조건문 없이 단 한 줄로 분기를 얻을 수 있어 매우 편리합니다.

라이브러리 불러오기

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

Period 객체 생성하기

pandas.Period는 특정 시간 구간(기간)을 나타내는 객체입니다. 여기서는 서로 다른 방식으로 두 개의 Period 객체를 생성해 보겠습니다.

period1 = pd.Period("2020-02-27 08:32:48")
period2 = pd.Period(freq="M", year=2021, month=8, day=16, hour=2, minute=35)

period1은 문자열 형태의 날짜·시간 정보로 생성했고, period2는 빈도(freq), 연도, 월, 일 등을 개별 인자로 지정하여 생성했습니다.

생성된 객체 출력

print("Period1...\n", period1)
print("Period2...\n", period2)

분기(Quarter) 값 가져오기

각 Period 객체에서 .quarter 속성을 사용해 분기를 추출합니다.

res1 = period1.quarter
res2 = period2.quarter

분기는 아래와 같은 기준으로 계산됩니다.

Q1(1분기) = 1월 1일 ~ 3월 31일
Q2(2분기) = 4월 1일 ~ 6월 30일
Q3(3분기) = 7월 1일 ~ 9월 30일
Q4(4분기) = 10월 1일 ~ 12월 31일

전체 예제 코드

지금까지의 내용을 하나로 정리한 전체 코드는 다음과 같습니다.

import pandas as pd

# pandas.Period는 하나의 기간(period of time)을 나타냅니다.
# 두 개의 Period 객체 생성
period1 = pd.Period("2020-02-27 08:32:48")
period2 = pd.Period(freq="M", year=2021, month=8, day=16, hour=2, minute=35)

# Period 객체 출력
print("Period1...\n", period1)
print("Period2...\n", period2)

# 각 Period 객체에서 분기(quarter) 값 가져오기
res1 = period1.quarter
res2 = period2.quarter

# 분기 계산 기준:
# Q1 = 1월 1일 ~ 3월 31일
# Q2 = 4월 1일 ~ 6월 30일
# Q3 = 7월 1일 ~ 9월 30일
# Q4 = 10월 1일 ~ 12월 31일
print("\n첫 번째 Period 객체의 분기 ...\n", res1)
print("\n두 번째 Period 객체의 분기 ...\n", res2)

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

Period1...
2020-02-27 08:32:48
Period2...
2021-08

첫 번째 Period 객체의 분기 ...
1

두 번째 Period 객체의 분기 ...
3

결과 해석

출력 결과를 보면, 첫 번째 Period 객체(2020년 2월 27일)는 1분기(Q1)에 해당하므로 1이 반환되었고, 두 번째 Period 객체(2021년 8월)는 3분기(Q3)에 해당하므로 3이 반환되었습니다.

참고로 freq="M"으로 생성된 period2는 월(Month) 단위 기간을 의미하므로 출력 시 "2021-08"처럼 월까지만 표시됩니다. 이처럼 .quarter 속성을 활용하면 날짜 데이터가 어느 분기에 속하는지 손쉽게 파악할 수 있어, 분기별 매출 집계나 보고서 작성 등 실무에서 유용하게 사용할 수 있습니다.