날짜 데이터를 다루다 보면 해당 날짜가 속한 달에 며칠까지 있는지, 즉 그 달의 총 일수를 확인해야 하는 경우가 자주 있습니다. 판다스(Pandas)를 사용하면 이 작업을 아주 간단하게 처리할 수 있습니다.
문제 상황
날짜 시리즈(date series)가 주어졌을 때, 해당 날짜가 속한 달의 일수를 구하고자 합니다.
해결 방법
아래 단계를 따라 문제를 해결할 수 있습니다.
- 날짜 시리즈를 정의합니다.
pd.date_range()함수로 시작 날짜를 2020-02-10으로 설정합니다.Series.dt.daysinmonth속성을 사용하여 해당 달의 일수를 계산합니다.
예제 코드
전체 구현 예제를 통해 더 자세히 살펴보겠습니다.
import pandas as pd
# 시작 날짜가 2020-02-10인 날짜 범위 생성
date = pd.date_range('2020-02-10', periods=1)
# 날짜 시리즈 생성
data = pd.Series(date)
# 해당 달의 일수 출력
print(data.dt.daysinmonth)실행 결과
0 29
결과 설명
2020년 2월은 윤년에 해당하기 때문에 총 29일입니다. Series.dt.daysinmonth는 각 날짜 값이 속한 달의 일수를 자동으로 계산하여 반환하므로, 윤년 여부를 직접 판단할 필요 없이 정확한 결과를 얻을 수 있습니다.
또한 periods 값을 늘려 여러 개의 연속된 날짜를 생성하면, 각 날짜별로 속한 달의 일수를 한 번에 확인할 수도 있습니다.