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

Python Pandas – PeriodIndex 객체에서 기간의 주(Week) 값 가져오기

PeriodIndex 객체에서 각 기간(period)에 해당하는 주(week) 값을 추출하려면 PeriodIndex.week 속성을 사용합니다. 이 속성은 인덱스에 포함된 각 날짜가 몇 번째 주에 해당하는지를 정수 형태로 반환합니다.

필요한 라이브러리 불러오기

먼저 pandas 라이브러리를 임포트합니다.

import pandas as pd

PeriodIndex 객체 생성하기

날짜·시간 문자열 목록과 freq 매개변수를 사용해 PeriodIndex 객체를 생성합니다. 여기서는 빈도를 분(minute) 단위인 "T"로 설정했습니다.

periodIndex = pd.PeriodIndex(['2021-09-25 07:30:35', '2019-10-30 04:15:45',
'2021-07-15 02:55:15', '2022-06-25 09:40:55'], freq="T")

생성된 객체 확인하기

생성한 PeriodIndex 객체를 화면에 출력해 내용을 확인합니다.

print("PeriodIndex...\n", periodIndex)

이어서 periodIndex.week 속성으로 각 기간의 주 값을 출력합니다.

print("\nThe week from the PeriodIndex object...\n", periodIndex.week)

전체 예제 코드

아래는 지금까지 설명한 내용을 모두 포함한 완전한 예제 코드입니다.

import pandas as pd

# PeriodIndex 객체 생성
# PeriodIndex는 시간상 규칙적인 기간을 나타내는 서수(ordinal) 값을 담는 불변(immutable) ndarray입니다.
# "freq" 매개변수로 빈도를 설정했습니다.
periodIndex = pd.PeriodIndex(['2021-09-25 07:30:35', '2019-10-30 04:15:45',
'2021-07-15 02:55:15', '2022-06-25 09:40:55'], freq="T")

# PeriodIndex 객체 출력
print("PeriodIndex...\n", periodIndex)

# PeriodIndex 빈도 객체 출력
print("\nPeriodIndex frequency object...\n", periodIndex.freq)

# PeriodIndex 빈도를 문자열로 출력
print("\nPeriodIndex frequency object as a string...\n", periodIndex.freqstr)

# PeriodIndex 객체에서 주(week) 값 출력
print("\nThe week from the PeriodIndex object...\n", periodIndex.week)

실행 결과

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

PeriodIndex...
PeriodIndex(['2021-09-25 07:30', '2019-10-30 04:15', '2021-07-15 02:55', '2022-06-25 09:40'],
dtype='period[T]')

PeriodIndex frequency object...
<Minute>

PeriodIndex frequency object as a string...
T

The week from the PeriodIndex object...
Int64Index([38, 44, 28, 25], dtype='int64')

출력 결과를 보면 각 날짜가 해당 연도의 몇 번째 주에 속하는지 확인할 수 있습니다. 예를 들어 '2021-09-25'는 38번째 주, '2019-10-30'은 44번째 주에 해당합니다. 이처럼 PeriodIndex.week 속성을 활용하면 시계열 데이터에서 주 단위 정보를 손쉽게 추출할 수 있습니다.