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

Python Pandas – 타임스탬프를 경계로 활용한 시간 간격(Interval) 생성 방법

시간 간격(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) 표기는 대괄호 [가 시작점 포함을, 소괄호 )가 끝점 제외를 나타내는 수학적 구간 표기법입니다. 이러한 방식은 특정 기간 동안 발생한 데이터를 필터링할 때 경계 값의 중복 처리 문제를 방지하는 데 유용합니다.