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

Python Pandas - DateTimeIndex의 날짜가 해당 월의 1일인지 확인하는 방법 (is_month_start)

DateTimeIndex의 날짜가 해당 월의 첫 번째 날(1일)인지 확인하려면 DateTimeIndex.is_month_start 속성을 사용하면 됩니다. 이 속성은 인덱스에 포함된 각 날짜에 대해 월의 시작일 여부를 불리언(Boolean) 배열 형태로 반환하므로, 대량의 시계열 데이터에서 특정 조건의 날짜를 필터링할 때 매우 유용합니다.

라이브러리 임포트

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

import pandas as pd

DatetimeIndex 생성

시작 날짜 '2021-9-21 02:30:50'부터 총 6개의 날짜를 생성하되, 빈도(freq)는 '5D', 즉 5일 간격으로 설정합니다. 시간대(timezone)는 호주 애들레이드(Australia/Adelaide)로 지정합니다.

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

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

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

이제 DateTimeIndex의 각 날짜가 해당 월의 1일인지 확인합니다.

print("\nCheck whether the date in DateTimeIndex is the first day of the month...\n",
datetimeindex.is_month_start)

전체 예제 코드

다음은 위의 과정을 모두 포함한 완전한 예제 코드입니다.

import pandas as pd

# 기간 6개, 빈도 '5D'(5일 간격)로 DatetimeIndex 생성
# 시간대는 Australia/Adelaide로 지정
datetimeindex = pd.date_range('2021-9-21 02:30:50', periods=6, tz='Australia/Adelaide', freq='5D')

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

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

# 각 날짜가 해당 월의 1일인지 확인
print("\nCheck whether the date in DateTimeIndex is the first day of the month...\n",
datetimeindex.is_month_start)

실행 결과

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

DateTimeIndex...
DatetimeIndex(['2021-09-21 02:30:50+09:30', '2021-09-26 02:30:50+09:30',
'2021-10-01 02:30:50+09:30', '2021-10-06 02:30:50+10:30',
'2021-10-11 02:30:50+10:30', '2021-10-16 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='5D')
DateTimeIndex frequency...
<5 * Days>

Check whether the date in DateTimeIndex is the first day of the month...
[False False True False False False]

결과 해석

출력 결과를 살펴보면, 불리언 배열 [False False True False False False] 중 세 번째 요소만 True입니다. 세 번째 날짜가 바로 '2021-10-01', 즉 10월의 첫날이기 때문입니다. 나머지 날짜들은 각 월의 시작일이 아니므로 모두 False로 반환되었습니다.

참고로 비슷한 성질의 속성으로 is_month_end(월의 마지막 날), is_quarter_start(분기 시작일), is_year_start(연도 시작일) 등이 있으며, 필요에 따라 함께 활용하면 시계열 데이터 분석이 더욱 편리해집니다.