시간 간격(time interval)을 생성하고 그 경계로 타임스탬프(Timestamp)를 사용하려면 pandas.Interval을 활용하고, 간격의 시작과 끝 값은 pandas.Timestamp로 지정하면 됩니다.
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
이제 타임스탬프를 시작 및 종료 경계로 지정하여 시간 간격을 만들어 보겠습니다. 이때 closed 매개변수에 'left' 값을 설정하면 왼쪽 경계는 포함되고 오른쪽 경계는 제외되는 반열린 구간이 됩니다.
interval = pd.Interval(pd.Timestamp('2020-01-01 00:00:00'), pd.Timestamp('2021-01-01 00:00:00'), closed='left')위 코드에서는 간격의 양쪽 경계를 모두 Timestamp 객체로 지정했습니다. 생성된 간격을 출력해 확인해 보겠습니다.
print("Interval...\n", interval)전체 예제 코드
다음은 위 내용을 정리한 전체 실행 코드입니다.
import pandas as pd
# Timestamp를 경계로 사용하여 시간 간격 생성
# closed 매개변수에 'left'를 지정해 왼쪽 포함 구간으로 설정
interval = pd.Interval(pd.Timestamp('2020-01-01 00:00:00'), pd.Timestamp('2021-01-01 00:00:00'), closed='left')
# 간격 출력
print("Interval...\n", interval)
# 간격의 길이 출력
print("\nInterval length...\n", interval.length)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Interval... [2020-01-01, 2021-01-01) Interval length... 366 days 00:00:00
주요 포인트 정리
- pandas.Interval(left, right, closed): 시작값과 끝값을 받아 구간 객체를 생성합니다.
- closed='left': 왼쪽 경계는 포함(
[)하고 오른쪽 경계는 제외())하는 구간을 의미합니다. 이 외에도'right','both','neither'옵션을 사용할 수 있습니다. - interval.length: 구간의 총 길이를 반환합니다. 2020년은 윤년이므로 366일로 계산됩니다.
출력 결과에서 [2020-01-01, 2021-01-01) 표기는 대괄호 [가 시작점 포함을, 소괄호 )가 끝점 제외를 나타내는 수학적 구간 표기법입니다. 이러한 방식은 특정 기간 동안 발생한 데이터를 필터링할 때 경계 값의 중복 처리 문제를 방지하는 데 유용합니다.