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

Python Pandas – PeriodIndex 생성 후 기간의 일(day) 값 가져오기

Python의 pandas 라이브러리에서 PeriodIndex를 생성하려면 pandas.PeriodIndex() 메서드를 사용합니다. 그리고 생성된 기간에서 일(day) 값을 추출하려면 PeriodIndex.day 속성을 활용하면 됩니다.

PeriodIndex란?

PeriodIndex는 시간상 규칙적인 기간(regular periods)을 나타내는 서수(ordinal) 값을 저장하는 불변(immutable) ndarray입니다. 날짜 데이터를 일별, 월별, 분기별 등 원하는 주기로 다룰 때 매우 유용하게 사용됩니다.

구현 단계

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

import pandas as pd

다음으로 PeriodIndex 객체를 생성합니다. 이때 freq 매개변수를 사용해 빈도(frequency)를 지정할 수 있습니다. 아래 예제에서는 일(Day) 단위인 "D"로 설정했습니다.

periodIndex = pd.PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20',
'2021-09-15', '2022-03-12', '2023-06-18'], freq="D")

생성된 PeriodIndex 객체를 화면에 출력합니다.

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

이어서 PeriodIndex 객체에서 일(day) 값을 추출하여 출력합니다.

print("\nThe number of days from the PeriodIndex...\n", periodIndex.day)

전체 예제 코드

아래는 위 과정을 모두 포함한 전체 코드입니다.

import pandas as pd

# PeriodIndex 객체 생성
# PeriodIndex는 규칙적인 시간 기간을 나타내는 서수 값을 저장하는 불변 ndarray입니다.
# freq 매개변수를 사용해 빈도를 설정했습니다.
periodIndex = pd.PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20',
'2021-09-15', '2022-03-12', '2023-06-18'], freq="D")

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

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

# PeriodIndex 객체에서 일(day) 값 출력
print("\nThe number of days from the PeriodIndex...\n", periodIndex.day)

실행 결과

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

PeriodIndex...
PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20', '2021-09-15', '2022-03-12', '2023-06-18'],
dtype='period[D]')

PeriodIndex frequency...
<Day>

The number of days from the PeriodIndex...
Int64Index([25, 30, 20, 15, 12, 18], dtype='int64')

출력 결과를 보면 각 날짜에서 일(day) 부분만 정수 형태로 추출된 것을 확인할 수 있습니다. 즉, 2018-07-25에서는 25, 2019-10-30에서는 30이 반환되었습니다. 이처럼 PeriodIndex.day 속성을 사용하면 날짜 인덱스에서 손쉽게 일 정보만 가져올 수 있습니다.