Pandas에서 Period 객체가 속한 달의 총 일수를 확인하고 싶다면 daysinmonth 속성을 사용하면 됩니다. 이 속성은 해당 날짜가 포함된 달이 며칠까지 있는지 정수 형태로 반환해 줍니다.
라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
Period 객체 생성하기
pandas.Period는 특정 시점 또는 기간을 나타내는 객체입니다. 여기서는 두 개의 Period 객체를 생성해 보겠습니다. 하나는 문자열로, 다른 하나는 연도·월·일 등 세부 값을 직접 지정하여 만듭니다.
period1 = pd.Period("2020-09-23")
period2 = pd.Period(freq="D", year=2021, month=2, day=14, hour=2, minute=35)
생성한 Period 객체를 출력해 내용을 확인합니다.
print("Period1...\n", period1)
print("Period2...\n", period2)
달의 총 일수 가져오기
두 Period 객체에 각각 daysinmonth 속성을 적용하여 해당 달의 일수를 구합니다.
res1 = period1.daysinmonth
res2 = period2.daysinmonth
전체 예제 코드
지금까지의 내용을 하나로 정리한 전체 코드는 다음과 같습니다.
import pandas as pd
# pandas.Period는 특정 시점(기간)을 나타냅니다.
# 두 개의 Period 객체 생성
period1 = pd.Period("2020-09-23")
period2 = pd.Period(freq="D", year=2021, month=2, day=14, hour=2, minute=35)
# Period 객체 출력
print("Period1...\n", period1)
print("Period2...\n", period2)
# 각 Period 객체가 속한 달의 총 일수 구하기
res1 = period1.daysinmonth
res2 = period2.daysinmonth
# 결과 출력
print("\n첫 번째 Period 객체의 달 일수 ...\n", res1)
print("\n두 번째 Period 객체의 달 일수 ...\n", res2)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Period1... 2020-09-23 Period2... 2021-02-14 첫 번째 Period 객체의 달 일수 ... 30 두 번째 Period 객체의 달 일수 ... 28
결과 해석
첫 번째 Period 객체는 2020년 9월 23일을 가리키며, 9월은 30일까지 있으므로 30이 반환됩니다. 두 번째 Period 객체는 2021년 2월 14일을 가리키는데, 2021년은 윤년이 아니므로 2월의 일수인 28이 반환됩니다. 이처럼 daysinmonth 속성을 활용하면 윤년 여부까지 자동으로 반영된 정확한 달의 일수를 손쉽게 얻을 수 있습니다.